.download-notice[data-v-bef46612]{z-index:var(--z-toast);border:1px solid;border-radius:8px;max-width:min(360px,100vw - 32px);padding:11px 14px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 32px #112a3d2e}.download-notice.success[data-v-bef46612]{color:#126a35;background:#f0fbf3;border-color:#b7e1c1}.download-notice.error[data-v-bef46612]{color:#a5271f;background:#fff5f3;border-color:#f0c2bd}.download-notice-enter-active[data-v-bef46612],.download-notice-leave-active[data-v-bef46612]{transition:opacity .16s,transform .16s}.download-notice-enter-from[data-v-bef46612],.download-notice-leave-to[data-v-bef46612]{opacity:0;transform:translateY(8px)}.vue-request-indicator[data-v-382d8567]{z-index:var(--z-toast);pointer-events:none;justify-content:center;display:flex;position:fixed;inset:0 0 auto}.vue-request-indicator__content[data-v-382d8567]{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 94%, transparent);box-shadow:var(--shadow-pop);color:var(--text-2);border-radius:999px;align-items:center;gap:8px;margin-top:10px;padding:7px 12px;font-size:12px;font-weight:500;display:inline-flex}.vue-request-spinner[data-v-382d8567]{border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;width:14px;height:14px;animation:.72s linear infinite vue-request-spin-382d8567}@keyframes vue-request-spin-382d8567{to{transform:rotate(360deg)}}.request-overlay-enter-active[data-v-382d8567],.request-overlay-leave-active[data-v-382d8567]{transition:opacity var(--tr)}.request-overlay-enter-from[data-v-382d8567],.request-overlay-leave-to[data-v-382d8567]{opacity:0}.assistant-widget[data-v-923443f1]{z-index:var(--z-sticky);width:max-content;height:max-content;font-family:inherit;position:fixed;bottom:24px;right:22px;pointer-events:auto!important}.assistant-launcher[data-v-923443f1]{color:#fff;cursor:pointer;background:linear-gradient(145deg,#0e7490,#2563eb);border:1px solid #438ead47;border-radius:50%;place-items:center;width:58px;height:58px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;box-shadow:0 12px 28px #144c6e40}.assistant-launcher[data-v-923443f1]:hover{transform:translateY(-2px);box-shadow:0 16px 32px #144c6e4d}.assistant-orbit[data-v-923443f1]{border:1px solid #ffffff8a;border-radius:50%;place-items:center;width:35px;height:35px;font-size:13px;font-weight:900;display:grid}.assistant-launcher i[data-v-923443f1]{background:#31c48d;border-radius:50%;width:9px;height:9px;position:absolute;top:4px;right:4px}.assistant-launcher i.alert[data-v-923443f1]{background:#ef4444;box-shadow:0 0 0 4px #ef444426}.assistant-panel[data-v-923443f1]{background:#fffffffa;border:1px solid #7db5d34d;border-radius:14px;grid-template-rows:auto auto minmax(150px,1fr) auto auto;width:min(380px,100vw - 28px);max-height:min(680px,100vh - 32px);display:grid;overflow:hidden;box-shadow:0 18px 48px #0f355038;opacity:1!important;visibility:visible!important;pointer-events:auto!important;position:relative!important;inset:auto!important;transform:none!important}.assistant-panel-head[data-v-923443f1]{border-bottom:1px solid #e4edf2;justify-content:space-between;gap:14px;padding:15px 16px 12px;display:flex}.assistant-kicker[data-v-923443f1]{color:#0e7490;font-size:11px;font-weight:800}.assistant-panel-head h2[data-v-923443f1]{color:#173f56;margin:3px 0 0;font-size:18px}.assistant-panel-head p[data-v-923443f1]{color:#7b8d99;margin:3px 0 0;font-size:11px}.assistant-panel-actions[data-v-923443f1]{gap:5px;display:flex}.assistant-panel-actions button[data-v-923443f1]{color:#5d7380;cursor:pointer;background:#f1f6f8;border:0;border-radius:6px;width:28px;height:28px;font-size:18px}.assistant-summary[data-v-923443f1]{background:#eefcf8;border-left:4px solid #14b8a6;border-radius:7px;gap:7px;margin:12px 14px 8px;padding:11px 12px;display:grid}.assistant-summary.warn[data-v-923443f1]{background:#fff9eb;border-left-color:#f59e0b}.assistant-summary.alert[data-v-923443f1]{background:#fff1f2;border-left-color:#ef4444}.assistant-summary-head[data-v-923443f1]{color:#173f56;justify-content:space-between;gap:8px;font-size:13px;display:flex}.assistant-summary-head span[data-v-923443f1]{color:#0f766e;font-size:11px;font-weight:800}.assistant-summary.warn .assistant-summary-head span[data-v-923443f1]{color:#b45309}.assistant-summary.alert .assistant-summary-head span[data-v-923443f1]{color:#b42318}.assistant-summary p[data-v-923443f1]{color:#45657a;margin:0;font-size:12px;line-height:1.5}.assistant-summary-stats[data-v-923443f1]{color:#718596;gap:12px;font-size:11px;display:flex}.assistant-summary-stats b[data-v-923443f1]{color:#173f56;font-size:13px}.assistant-messages[data-v-923443f1]{align-content:start;gap:8px;min-height:0;padding:4px 14px 10px;display:grid;overflow-y:auto}.assistant-empty[data-v-923443f1]{color:#718596;text-align:center;padding:22px 8px;font-size:12px}.assistant-message[data-v-923443f1]{border-radius:10px;gap:3px;max-width:88%;padding:8px 10px;display:grid}.assistant-message span[data-v-923443f1]{color:#7b8d99;font-size:10px;font-weight:800}.assistant-message p[data-v-923443f1]{color:#24445a;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}.assistant-message.from-bot[data-v-923443f1]{background:#eefcf8;border-bottom-left-radius:3px;justify-self:start}.assistant-message.from-user[data-v-923443f1]{background:#e8f3ff;border-bottom-right-radius:3px;justify-self:end}.assistant-message.is-thinking p[data-v-923443f1]{color:#718596}.assistant-quick[data-v-923443f1]{flex-wrap:wrap;gap:6px;padding:0 14px 9px;display:flex}.assistant-quick button[data-v-923443f1]{color:#416579;min-width:0;font:inherit;cursor:pointer;background:#f8fbfd;border:1px solid #d6e6ec;border-radius:6px;padding:6px 8px;font-size:11px}.assistant-quick button[data-v-923443f1]:hover{color:#0e7490;background:#edf7fb}.assistant-composer[data-v-923443f1]{background:#fbfdfe;border-top:1px solid #e4edf2;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:10px 14px 13px;display:grid}.assistant-composer input[data-v-923443f1]{color:#203b4d;min-width:0;min-height:35px;font:inherit;background:#fff;border:1px solid #cfdce5;border-radius:6px;padding:0 10px;font-size:12px}.assistant-composer button[data-v-923443f1]{color:#fff;min-width:54px;font:inherit;cursor:pointer;background:#0e7490;border:0;border-radius:6px;font-size:12px}.assistant-composer button[data-v-923443f1]:disabled{cursor:not-allowed;opacity:.55}.assistant-restore[data-v-923443f1]{color:#0e7490;cursor:pointer;background:#fff;border:1px solid #c8dce5;border-radius:8px 0 0 8px;width:34px;height:50px;font-weight:900}@media (width<=620px){.assistant-widget[data-v-923443f1]{bottom:14px;right:12px}.assistant-panel[data-v-923443f1]{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}}:root{--brand:#1e6feb;--brand-deep:#1557bc;--brand-soft:#eaf1fe;--brand-ring:#1e6feb29;--on-brand:#fff;--bg:#f4f7fb;--card:#fff;--surface-soft:#f8fafd;--surface-muted:#edf2f8;--border:#e3eaf3;--border-strong:#cbd6e4;--text-1:#1f2d3d;--text-2:#5a6b7f;--text-3:#8494a7;--success:#1f9d55;--success-bg:#e7f6ec;--warning:#c77700;--warning-bg:#fff4e0;--danger:#d4380d;--danger-bg:#fff1ec;--danger-border:#f5c6b8;--radius-s:8px;--radius-m:12px;--radius-l:16px;--shadow-pop:0 8px 24px #1f2d3d1f;--overlay:#1f2d3d57;--tr:.18s ease;--z-base:0;--z-sticky:100;--z-dropdown:500;--z-overlay:900;--z-modal:1000;--z-toast:2000}[data-theme=dark]{--bg:#0d1b25;--card:#11212d;--surface-soft:#142632;--surface-muted:#172631;--border:#304555;--border-strong:#426073;--text-1:#e4edf4;--text-2:#aab9c5;--text-3:#8093a3;--brand-soft:#1e6feb2e;--success-bg:#1f9d552e;--warning-bg:#c777002e;--danger-bg:#d4380d2e;--shadow-pop:0 8px 24px #0000006b;--overlay:#00000075}*,:before,:after{box-sizing:border-box}body{font-variant-numeric:tabular-nums}#app{min-height:100vh}.vue-request-overlay{z-index:var(--z-overlay);cursor:wait;background:#0f263729;place-items:center;display:grid;position:fixed;inset:0}.vue-request-dialog{color:#31536b;background:#fffffff5;border:1px solid #547a9433;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-width:118px;padding:12px 16px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 12px 32px #1f3b522e}.vue-request-spinner{border:2px solid #cfe0e8;border-top-color:#1685a7;border-radius:50%;width:16px;height:16px;animation:.72s linear infinite vue-request-spin}@keyframes vue-request-spin{to{transform:rotate(360deg)}}.request-overlay-enter-active,.request-overlay-leave-active{transition:opacity .14s}.request-overlay-enter-from,.request-overlay-leave-to{opacity:0}.vue-shell{min-height:100vh}.vue-workspace{background:inherit;min-width:0}.route-viewport{background:0 0;min-width:0;min-height:calc(100vh - 60px)}.route-viewport>*{min-width:0}.side-nav a,.side-nav button{color:#26364d;background:linear-gradient(#fff,#f3f7fb);border:1px solid #cfdae5;border-left:5px solid #9fb0c2;border-radius:8px;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 15px 0 18px;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:flex;position:relative;box-shadow:0 8px 20px #1e304614}.side-nav a:after{content:">";color:#526174;background:#e6edf4;border-radius:999px;place-items:center;width:24px;height:24px;font-weight:900;display:inline-grid}.side-nav a:hover{border-color:#0f766e52;border-left-color:var(--teal);transform:translate(3px);box-shadow:0 14px 30px #0f766e24}.side-nav a.active{color:#fff;background:linear-gradient(135deg,#0f766e,#1d4ed8);border-color:#0000 #0000 #0000 #facc15;box-shadow:0 16px 36px #0f766e42}.side-nav a.active:after{color:#fff;background:#fff3}.side-nav .side-subnav a.sub-nav-button{min-height:42px;box-shadow:none;background:linear-gradient(#fff,#f7fbff);border-left-width:1px;border-radius:12px;padding:0 12px;font-size:14px}.side-nav .side-subnav a.sub-nav-button:after{display:none}.side-nav .side-subnav a.sub-nav-button.active{color:#075985;background:linear-gradient(135deg,#e0f7ff,#e8f0ff);border-color:#00a8d85c #00a8d85c #00a8d85c #00a8d8}.vue-project-select{margin-top:10px;display:block}.vue-project-select select{color:#153f57;background:#fff;border:1px solid #cfdae5;border-radius:8px;width:100%;min-height:42px;padding:0 38px 0 12px;font-size:15px;font-weight:800}.vue-project-switch{z-index:var(--z-base);margin-top:10px;position:relative}body.vue-app .user-box .project-context-trigger{color:#193a50;text-align:left;width:100%;min-height:48px;box-shadow:none;background:#f8fbfd;border:1px solid #547a9433;border-radius:9px;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:10px;padding:9px 10px 9px 12px;display:grid;transform:none}body.vue-app .user-box .project-context-trigger:hover,body.vue-app .user-box .project-context-trigger:focus-visible{background:#fbfdfe;border-color:#2f80b766;outline:0;box-shadow:0 4px 12px #25638e14}body.vue-app .user-box .project-context-value{min-width:0;display:block;overflow:hidden}body.vue-app .user-box .project-context-value strong{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:850;line-height:1.3;display:block;overflow:hidden}body.vue-app .user-box .project-context-arrow{color:#347b98;background:#2f80b714;border-radius:7px;place-items:center;width:30px;height:30px;font-size:19px;font-weight:500;line-height:1;display:grid}body.vue-app .user-box .project-context-trigger:hover .project-context-arrow,body.vue-app .user-box .project-context-trigger:focus-visible .project-context-arrow{color:#1d6688;background:#2f80b724}.project-context-menu{z-index:var(--z-dropdown);background:#fff;border:1px solid #547a942e;border-radius:10px;gap:7px;max-height:min(360px,100vh - 230px);padding:9px;display:grid;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 34px #1f3b5233}.project-context-option{color:#193a50;text-align:left;cursor:pointer;background:#fff;border:1px solid #547a9424;border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:44px;padding:0 9px;display:grid}.project-context-option:hover,.project-context-option:focus-visible{background:#f8fbfd;border-color:#2f80b74d;outline:0}.project-context-option.active{background:#f1f7fc;border-color:#2f80b742;box-shadow:inset 3px 0 #4a8bb3}.project-context-option-mark{color:#0000;border:1px solid #c8d7e0;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;font-weight:900;line-height:1;display:grid}.project-context-option.active .project-context-option-mark{color:#fff;background:#4a8bb3;border-color:#4a8bb3}.project-context-option strong{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.3;overflow:hidden}.project-context-option small{color:#8998a3;white-space:nowrap;justify-self:end;font-size:11px}.project-context-empty{color:#718596;text-align:center;margin:7px 4px;font-size:12px}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-menu{background:#fff;border:1px solid #547a942e;border-radius:10px;gap:7px;max-height:min(360px,100vh - 230px);padding:9px;box-shadow:0 16px 34px #1f3b5233}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option{color:#193a50;background:#fff;border:1px solid #547a9424;border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;min-height:44px;padding:0 9px}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option:hover,body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option:focus-visible{background:#f8fbfd;border-color:#2f80b74d}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option.active{background:#f1f7fc;border-color:#2f80b742;box-shadow:inset 3px 0 #4a8bb3}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option-mark{color:#0000;border:1px solid #c8d7e0;border-radius:50%;width:18px;height:18px;font-size:12px}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option.active .project-context-option-mark{color:#fff;background:#4a8bb3;border-color:#4a8bb3}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}body.desktop-cockpit.vue-app .shell>.sidebar .project-context-option small{color:#8998a3;white-space:nowrap;justify-self:end;font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vue-form-error{color:#b42318;margin:0;font-size:13px;font-weight:700}.app-version{color:#718596;text-align:center;margin-top:10px;font-size:11px;line-height:1.4;display:block}.modal-backdrop,.assistant-modal-backdrop,.work-order-modal-backdrop,.work-order-drawer-backdrop{z-index:var(--z-overlay)}.modal-card,.assistant-modal,.work-order-modal,.iot-vue-modal,.work-order-drawer{z-index:var(--z-modal)}.vue-button-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.vue-echart{width:100%;min-height:330px}.vue-iot-grid{align-items:stretch}.vue-detail-table{margin-top:16px}.vue-config-list{gap:12px;display:grid}.vue-config-item{margin:0;padding:14px}.vue-placeholder-panel{min-height:360px}.qa-session-item{text-align:left}[data-theme=dark] body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1020px){.side-nav .side-subnav a.sub-nav-button{margin-top:7px}}body.vue-app .side-nav>.side-nav-group>a,body.vue-app .side-nav>.side-nav-group>button{box-sizing:border-box;color:#254158;white-space:nowrap;background:linear-gradient(135deg,#ffffffe6,#edf7fcbd),#ffffffbd;border:1px solid #0a3d621f;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;min-height:54px;padding:0 15px;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #2a4e691c}body.vue-app .side-nav>.side-nav-group>a:before,body.vue-app .side-nav>.side-nav-group>button:before{content:"";background:#0a3d6238;border-radius:50%;flex:0 0 8px;width:8px;height:8px}body.vue-app .side-nav>.side-nav-group:not(.has-children)>a{border-left:5px solid #9fb0c2;border-radius:8px;justify-content:space-between;min-height:64px;padding-left:22px}body.vue-app .side-nav>.side-nav-group:not(.has-children)>a:before{display:none}body.vue-app .side-nav>.side-nav-group:not(.has-children)>a .nav-label{text-align:left}body.vue-app .side-nav>.side-nav-group.has-children>button{border-radius:24px;min-height:64px;padding-left:16px;padding-right:16px}body.vue-app .side-nav>.side-nav-group>a:after,body.vue-app .side-nav>.side-nav-group>button:after{content:">";color:#5f7486;background:#0a3d6214;border-radius:999px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-weight:900;display:inline-grid}body.vue-app .side-nav .nav-label{text-align:center;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}body.vue-app .side-nav>.side-nav-group>a:hover,body.vue-app .side-nav>.side-nav-group>button:hover{color:#0a3d62;background:#00a8d81a;border-color:#00a8d857;transform:translate(3px);box-shadow:0 14px 30px #0f766e24}body.vue-app .side-nav>.side-nav-group>a.active,body.vue-app .side-nav>.side-nav-group>button.active{color:#fff;background:linear-gradient(135deg,#00c8f5,#3b82f6);border-color:#00a8d86b;box-shadow:0 16px 36px #0f766e42}body.vue-app .side-nav>.side-nav-group>a.active:before,body.vue-app .side-nav>.side-nav-group>button.active:before{background:#fff;box-shadow:0 0 18px #ffffffb8}body.vue-app .side-nav>.side-nav-group>a.active:after,body.vue-app .side-nav>.side-nav-group>button.active:after{color:#fff;background:#ffffff3d}body.vue-app .side-nav .side-subnav a.sub-nav-button{min-height:42px;box-shadow:none;background:linear-gradient(#fff,#f7fbff);border-left-width:1px;border-radius:12px;padding:0 12px;font-size:14px}body.vue-app .side-nav .side-subnav a.sub-nav-button:before,body.vue-app .side-nav .side-subnav a.sub-nav-button:after{display:none}body.vue-app .side-nav .side-subnav .nav-label{text-align:left}body.vue-app .side-nav .side-subnav a.sub-nav-button.active{color:#075985;background:linear-gradient(135deg,#e0f7ff,#e8f0ff);border-color:#00a8d85c #00a8d85c #00a8d85c #00a8d8}body.vue-app:before,body.vue-app:after,body.vue-app .vue-workspace>.topbar,body.vue-app .vue-workspace>.panel,body.vue-app .vue-workspace>.grid,body.vue-app .vue-workspace .panel,body.vue-app .vue-workspace .metric,body.vue-app .vue-workspace .overview-card,body.vue-app .vue-workspace .module-placeholder{animation:none!important}body.vue-app .vue-workspace,body.vue-app .vue-workspace>*{transition:none!important}body.vue-app .route-viewport,body.vue-app .route-viewport>*,body.vue-app .route-viewport .panel,body.vue-app .route-viewport .metric,body.vue-app .route-viewport .overview-card,body.vue-app .route-viewport .module-placeholder{opacity:1;transition:none!important;animation:none!important}body.vue-app{--ui-primary:var(--brand);--ui-primary-hover:var(--brand-deep);--ui-primary-soft:var(--brand-soft);--ui-primary-ring:var(--brand-ring);--ui-text:var(--text-1);--ui-text-secondary:var(--text-2);--ui-text-tertiary:var(--text-3);--ui-border:var(--border);--ui-border-strong:var(--border-strong);--ui-fill:var(--surface-muted);--ui-surface:var(--card);--ui-surface-soft:var(--surface-soft);--ui-danger:var(--danger);--ui-danger-soft:var(--danger-bg);--ui-success:var(--success);--ui-radius-control:var(--radius-s);--ui-radius-panel:var(--radius-m);--ui-control-height:34px;--ui-shadow-panel:none;--ui-shadow-modal:var(--shadow-pop);color:var(--ui-text);font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,Arial,sans-serif}body.vue-app .vue-workspace{background:var(--bg)}body.vue-app .vue-workspace .panel,body.vue-app .vue-workspace .module-placeholder,body.vue-app .vue-workspace .vue-placeholder-panel{border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius-panel)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow-panel)!important}body.vue-app .vue-workspace .panel:hover,body.vue-app .vue-workspace .module-placeholder:hover{border-color:var(--ui-border-strong)!important;box-shadow:none!important;transform:none!important}body.vue-app .vue-workspace .route-viewport>*,body.vue-app .vue-workspace .route-viewport>*>*{min-width:0;max-width:100%}body.vue-app .vue-workspace .alarm-suggestions-modal{box-sizing:border-box;max-width:calc(100% - 32px)!important}body.vue-app .vue-workspace .panel-head{border-bottom:1px solid var(--ui-border);gap:16px;padding-bottom:14px}body.vue-app .vue-workspace .panel-head h2,body.vue-app .vue-workspace .panel h2{line-height:1.45;color:var(--ui-text)!important;font-size:18px!important;font-weight:600!important}body.vue-app .vue-workspace .panel h3{color:var(--ui-text)!important;font-size:15px!important;font-weight:600!important}body.vue-app .vue-workspace .panel-head p,body.vue-app .vue-workspace .panel p:not(.vue-form-error){color:var(--ui-text-secondary)}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) input:not([type=checkbox]):not([type=radio]):not([type=range]),body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) select,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) textarea{box-sizing:border-box;min-height:var(--ui-control-height);font:inherit;transition:border-color var(--tr), box-shadow var(--tr), background-color var(--tr);font-size:13px;line-height:1.45;border:1px solid var(--ui-border-strong)!important;border-radius:var(--ui-radius-control)!important;background:var(--ui-surface)!important;color:var(--ui-text)!important;box-shadow:none!important}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) input:not([type=checkbox]):not([type=radio]):not([type=range]),body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) select{height:var(--ui-control-height);padding:0 10px}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) textarea{resize:vertical;min-height:76px;padding:8px 10px}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) input::placeholder,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) textarea::placeholder{color:var(--ui-text-tertiary)}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) input:not([type=checkbox]):not([type=radio]):not([type=range]):hover,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) select:hover,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) textarea:hover{border-color:var(--ui-primary)!important}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) select:focus,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) textarea:focus{outline:0;border-color:var(--ui-primary)!important;box-shadow:0 0 0 3px var(--ui-primary-ring)!important}body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) input:disabled,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) select:disabled,body.vue-app :is(.vue-workspace,.assistant-widget,.login-card) textarea:disabled{cursor:not-allowed;opacity:1;border-color:var(--ui-border)!important;background:var(--ui-fill)!important;color:var(--ui-text-tertiary)!important}body.vue-app .vue-workspace label>span,body.vue-app .vue-workspace form>label,body.vue-app .login-card .form>label{color:var(--ui-text-secondary);font-size:13px;font-weight:600}body.vue-app .vue-workspace input[type=checkbox],body.vue-app .vue-workspace input[type=radio]{accent-color:var(--ui-primary)}body.vue-app .vue-workspace .btn,body.vue-app .vue-workspace .button-row>button,body.vue-app .vue-workspace .modal-card footer>button,body.vue-app .vue-workspace .assistant-modal footer>button,body.vue-app .login-card .btn{min-height:var(--ui-control-height);white-space:nowrap;transition:border-color var(--tr), background-color var(--tr), color var(--tr), box-shadow var(--tr);font-size:13px;font-weight:600;line-height:1;border-radius:var(--ui-radius-control)!important;box-shadow:none!important}body.vue-app .vue-workspace .btn.primary,body.vue-app .vue-workspace .alarm-primary,body.vue-app .login-card .btn.primary{border-color:var(--ui-primary)!important;background:var(--ui-primary)!important;color:var(--on-brand)!important}body.vue-app .vue-workspace .btn.primary:hover:not(:disabled),body.vue-app .vue-workspace .alarm-primary:hover:not(:disabled),body.vue-app .login-card .btn.primary:hover:not(:disabled){border-color:var(--ui-primary-hover)!important;background:var(--ui-primary-hover)!important;box-shadow:none!important}body.vue-app .vue-workspace .btn.ghost,body.vue-app .vue-workspace .alarm-secondary,body.vue-app .vue-workspace .btn:not(.primary):not(.danger):not(.qa-send-button){border-color:var(--ui-border-strong)!important;background:var(--ui-surface)!important;color:var(--ui-text-secondary)!important}body.vue-app .vue-workspace .btn.ghost:hover:not(:disabled),body.vue-app .vue-workspace .alarm-secondary:hover:not(:disabled),body.vue-app .vue-workspace .btn:not(.primary):not(.danger):not(.qa-send-button):hover:not(:disabled){border-color:var(--ui-primary)!important;background:var(--ui-primary-soft)!important;color:var(--ui-primary-hover)!important}body.vue-app .vue-workspace .btn.danger{border-color:var(--ui-danger)!important;background:var(--ui-danger)!important;color:var(--on-brand)!important}body.vue-app .vue-workspace button:disabled,body.vue-app .login-card button:disabled{cursor:not-allowed;opacity:.55}body.vue-app .vue-workspace :is(table,.alarm-table-wrap table,.alarm-suggestions-table){border-collapse:collapse;border-spacing:0;background:var(--ui-surface);width:100%}body.vue-app .vue-workspace :is(table,.alarm-table-wrap table,.alarm-suggestions-table) thead th{text-align:left;vertical-align:middle;height:42px;line-height:1.4;border-top:1px solid var(--ui-border)!important;border-bottom:1px solid var(--ui-border)!important;background:var(--ui-fill)!important;color:var(--ui-text-secondary)!important;padding:0 12px!important;font-size:13px!important;font-weight:500!important}body.vue-app .vue-workspace :is(table,.alarm-table-wrap table,.alarm-suggestions-table) tbody td{vertical-align:middle;height:44px;font-size:13px;line-height:1.5;border:0!important;border-bottom:1px solid var(--ui-border)!important;color:var(--ui-text)!important;padding:8px 12px!important}body.vue-app .vue-workspace :is(table,.alarm-table-wrap table,.alarm-suggestions-table) tbody tr{transition:background-color var(--tr)}body.vue-app .vue-workspace :is(table,.alarm-table-wrap table,.alarm-suggestions-table) tbody tr:hover,body.vue-app .vue-workspace :is(table,.alarm-table-wrap table,.alarm-suggestions-table) tbody tr:is(.active,.selected,.is-selected){background:var(--ui-primary-soft)!important}body.vue-app .vue-workspace .table-wrap,body.vue-app .vue-workspace [class$=-table-wrap],body.vue-app .vue-workspace [class*=-table-wrap]{border-radius:var(--radius-s);background:var(--ui-surface);overflow:auto;border:1px solid var(--ui-border)!important}body.vue-app .vue-workspace .simple-table{border-radius:var(--radius-s);background:var(--ui-surface);overflow:hidden;border:1px solid var(--ui-border)!important}body.vue-app .vue-workspace .simple-table .tr{min-height:44px;color:var(--ui-text);transition:background-color var(--tr);align-items:center;padding:0 12px;border:0!important;border-bottom:1px solid var(--ui-border)!important}body.vue-app .vue-workspace .simple-table .tr:not(.head):hover{background:var(--ui-primary-soft)}body.vue-app .vue-workspace .simple-table .tr.head{min-height:42px;font-size:13px;font-weight:500;background:var(--ui-fill)!important;color:var(--ui-text-secondary)!important}body.vue-app .vue-workspace .simple-table .tr:last-child{border-bottom:0!important}body.vue-app .vue-workspace :is(.pill,.badge,.record-pill,.handover-status,.work-order-status,.work-order-source,.config-permission,.alarm-decision){background:var(--surface-muted);max-width:120px;min-height:22px;color:var(--ui-text-secondary);text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;padding:1px 10px;font-size:12px;font-style:normal;font-weight:500;line-height:1.4;display:inline-flex;overflow:hidden}body.vue-app .vue-workspace :is(.pill.green,.record-pill.IN,.handover-status.received,.work-order-status.done,.config-permission,.alarm-decision.is-accepted){background:var(--success-bg);color:var(--success)}body.vue-app .vue-workspace :is(.pill.amber,.record-pill.OUT,.handover-status.submitted,.work-order-status.pending,.work-order-status.progress,.work-order-status.review){background:var(--warning-bg);color:var(--warning)}body.vue-app .vue-workspace :is(.pill.rose,.record-pill.DISPOSE,.alarm-decision.is-rejected){background:var(--danger-bg);color:var(--danger)}body.vue-app .vue-workspace :is(.pill.teal,.pill.blue,.work-order-source){background:var(--brand-soft);color:var(--brand)}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.work-order-filters,.equipment-record-filters,.chemical-filters,.material-filters,.users-vue-filters,.ledger-vue-filters){gap:10px!important}body.vue-app .vue-workspace :is(.data-pager,.work-order-pager,[class*=pagination],[class*=pager]){min-height:40px;color:var(--ui-text-secondary);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:13px;display:flex}body.vue-app .vue-workspace :is(.data-pager,.work-order-pager,[class*=pagination],[class*=pager]) .btn,body.vue-app .vue-workspace :is(.data-pager,.work-order-pager,[class*=pagination],[class*=pager]) button{min-width:32px;min-height:32px;padding:0 10px;border:1px solid var(--ui-border-strong)!important;border-radius:var(--radius-s)!important;background:var(--ui-surface)!important;color:var(--ui-text-secondary)!important}body.vue-app :is(.modal-backdrop,.assistant-modal-backdrop,.work-order-modal-backdrop,.work-order-drawer-backdrop){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--overlay)!important}body.vue-app :is(.modal-card,.assistant-modal,.work-order-modal,.iot-vue-modal,.work-order-drawer){border:1px solid var(--ui-border)!important;border-radius:var(--radius-m)!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow-modal)!important}body.vue-app :is(.modal-head,.assistant-modal-head,.work-order-modal>header,.work-order-drawer>header){min-height:68px;border-bottom:1px solid var(--ui-border)!important;background:var(--ui-surface-soft)!important;padding:15px 20px!important}body.vue-app :is(.modal-head,.assistant-modal-head,.work-order-modal>header,.work-order-drawer>header) h2{color:var(--ui-text)!important;font-size:18px!important;font-weight:600!important}body.vue-app :is(.modal-head,.assistant-modal-head,.work-order-modal>header,.work-order-drawer>header) p{color:var(--ui-text-secondary)!important;font-size:13px!important}body.vue-app :is(.modal-card,.assistant-modal,.work-order-modal) :is(form,footer,.alarm-foot,.alarm-suggestions-foot){border-color:var(--ui-border)!important}body.vue-app :is(.modal-close,.assistant-icon-button,.work-order-close){place-items:center;width:32px;height:32px;font-size:20px;line-height:1;display:inline-grid;border-radius:var(--radius-s)!important;color:var(--ui-text-secondary)!important;background:0 0!important;border:1px solid #0000!important}body.vue-app :is(.modal-close,.assistant-icon-button,.work-order-close):hover:not(:disabled){border-color:var(--ui-border)!important;background:var(--ui-fill)!important;color:var(--ui-danger)!important}body.vue-app :is(.modal-card,.assistant-modal,.work-order-modal) .button-row,body.vue-app :is(.modal-card,.assistant-modal,.work-order-modal) footer{justify-content:flex-end}body.vue-app .vue-workspace :is(.empty,.vue-placeholder-panel,.alarm-state,.knowledge-state,.work-order-empty){color:var(--ui-text-secondary)!important}body.vue-app .vue-form-error{font-size:13px;font-weight:600;color:var(--ui-danger)!important}body.vue-app .vue-request-dialog{border-color:var(--ui-border)!important;border-radius:var(--radius-m)!important;box-shadow:var(--ui-shadow-modal)!important}@media (width<=1340px){body.vue-app .vue-workspace .work-order-layout{grid-template-columns:minmax(0,1fr)}body.vue-app .vue-workspace .work-order-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){body.vue-app .vue-workspace .work-order-rail{grid-template-columns:minmax(0,1fr)}body.vue-app .vue-workspace .panel-head{flex-direction:column;align-items:flex-start}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.work-order-filters,.equipment-record-filters,.chemical-filters,.material-filters,.users-vue-filters,.ledger-vue-filters)>*{max-width:100%}}body.vue-app{--sidebar-width:286px;--sidebar-item-height:44px;--sidebar-subitem-height:36px;--sidebar-font-size:15px;--sidebar-subitem-font-size:14px;--sidebar-label-line-height:1.2}body.vue-app .shell.vue-shell>.sidebar .side-nav{flex-direction:column;flex:auto;gap:6px;min-width:0;min-height:0;padding:2px 2px 4px;display:flex;overflow:hidden auto}body.vue-app .shell.vue-shell>.sidebar .side-nav-group{isolation:auto;gap:4px;min-width:0;display:grid}body.vue-app .shell.vue-shell>.sidebar .side-nav-link,body.vue-app .shell.vue-shell>.sidebar .side-nav-trigger{min-width:0;min-height:var(--sidebar-item-height);border-radius:var(--radius-s);box-shadow:none;color:var(--text-2);font-size:var(--sidebar-font-size);font-weight:600;line-height:var(--sidebar-label-line-height);text-align:left;transition:background-color var(--tr), border-color var(--tr), color var(--tr);background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:11px;padding:0 14px;text-decoration:none;display:flex}body.vue-app .shell.vue-shell>.sidebar .side-nav-link:hover,body.vue-app .shell.vue-shell>.sidebar .side-nav-trigger:hover,body.vue-app .shell.vue-shell>.sidebar .side-nav-link:focus-visible,body.vue-app .shell.vue-shell>.sidebar .side-nav-trigger:focus-visible{border-color:var(--border);background:var(--surface-soft);color:var(--text-1);outline:0;transform:none}body.vue-app .shell.vue-shell>.sidebar .side-nav-link.active,body.vue-app .shell.vue-shell>.sidebar .side-nav-trigger.active{border-color:var(--brand);background:var(--brand);color:var(--on-brand);box-shadow:none}body.vue-app .shell.vue-shell>.sidebar .side-nav-link:before,body.vue-app .shell.vue-shell>.sidebar .side-nav-trigger:before,body.vue-app .shell.vue-shell>.sidebar .side-nav-link:after,body.vue-app .shell.vue-shell>.sidebar .side-nav-trigger:after{content:none;display:none}body.vue-app .navigation-icon{color:currentColor;flex:0 0 18px;width:18px;height:18px}body.vue-app .shell.vue-shell>.sidebar .nav-label{min-width:0;line-height:var(--sidebar-label-line-height);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;align-items:center;display:flex;overflow:hidden}body.vue-app .shell.vue-shell>.sidebar .nav-chevron{width:7px;height:7px;transition:transform var(--tr);border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 7px;align-self:center;margin-left:auto;margin-right:4px;transform:rotate(45deg)translateY(-2px)}body.vue-app .shell.vue-shell>.sidebar .side-nav-group.is-expanded>.side-nav-trigger .nav-chevron{transform:rotate(225deg)translate(-1px,-1px)}body.vue-app .shell.vue-shell>.sidebar .side-subnav{border-left:1px solid var(--border);min-width:0;box-shadow:none;opacity:1;background:0 0;gap:2px;margin:0 0 2px 26px;padding:2px 0 2px 10px;display:grid;transform:none}body.vue-app .shell.vue-shell>.sidebar .side-subnav .sub-nav-button{min-width:0;min-height:var(--sidebar-subitem-height);border-radius:var(--radius-s);box-shadow:none;color:var(--text-2);font-size:var(--sidebar-subitem-font-size);font-weight:500;line-height:var(--sidebar-label-line-height);background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;text-decoration:none;display:flex}body.vue-app .shell.vue-shell>.sidebar .side-subnav .sub-nav-button:hover,body.vue-app .shell.vue-shell>.sidebar .side-subnav .sub-nav-button:focus-visible{border-color:var(--border);background:var(--surface-soft);color:var(--text-1);outline:0}body.vue-app .shell.vue-shell>.sidebar .side-subnav .sub-nav-button.active{border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand-deep);font-weight:500}body.vue-app .sub-nav-dot{background:currentColor;border-radius:50%;flex:0 0 4px;width:4px;height:4px}@media (width>=921px){body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav{flex:none;overflow:visible}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group{z-index:auto;position:relative}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.has-children:after{display:none}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav .side-subnav,body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.has-children:hover .side-subnav,body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.has-children:focus-within .side-subnav,body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.active .side-subnav{border:0;border-left:1px solid var(--border);width:auto;min-width:0;max-width:100%;max-height:none;box-shadow:none;opacity:1;pointer-events:auto;background:0 0;border-radius:0;gap:2px;margin:0 0 2px 26px;padding:2px 0 2px 10px;transition:none;display:grid;position:static;overflow:visible;transform:none}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav .side-subnav .sub-nav-button{min-width:0;min-height:var(--sidebar-subitem-height);border-radius:var(--radius-s);box-shadow:none;color:var(--text-2);font-size:var(--sidebar-subitem-font-size);font-weight:500;line-height:var(--sidebar-label-line-height);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;padding:0 10px;overflow:hidden}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav .side-subnav .sub-nav-button:hover,body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav .side-subnav .sub-nav-button:focus-visible{border-color:var(--border);background:var(--surface-soft);color:var(--text-1);outline:0;transform:none}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav .side-subnav .sub-nav-button.active{border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand-deep);font-weight:500}body.vue-app .shell.vue-shell>.sidebar{isolation:isolate;border-right:1px solid var(--border);background:var(--card);box-shadow:none;gap:14px;padding:18px 16px;position:fixed}body.vue-app .shell.vue-shell>.sidebar .desktop-sidebar-collapse-button{z-index:var(--z-sticky);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-soft);width:28px;height:28px;min-height:28px;color:var(--text-2);cursor:pointer;place-items:center;padding:0;font-size:18px;line-height:1;display:inline-grid;position:absolute;top:14px;right:12px}body.vue-app .shell.vue-shell>.sidebar .desktop-sidebar-collapse-button:hover,body.vue-app .shell.vue-shell>.sidebar .desktop-sidebar-collapse-button:focus-visible{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);outline:0}body.vue-app .shell.vue-shell>.sidebar .side-brand{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-soft);min-width:0;box-shadow:none;margin-right:36px;padding:12px 14px}body.vue-app .shell.vue-shell>.sidebar .side-brand strong{min-width:0;color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.35;overflow:hidden}body.vue-app .shell.vue-shell>.sidebar .side-brand span{color:var(--text-2);font-size:12px}body.vue-app .shell.vue-shell>.sidebar .user-box,body.vue-app .shell.vue-shell>.sidebar .side-note{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-soft);min-width:0;box-shadow:none;padding:12px}body.vue-app .shell.vue-shell>.sidebar .user-box>strong{color:var(--text-1);font-size:16px;font-weight:600}body.vue-app .shell.vue-shell>.sidebar .user-box p,body.vue-app .shell.vue-shell>.sidebar .side-note p{color:var(--text-2);margin:0;font-size:12px;line-height:1.45}body.vue-app .shell.vue-shell>.sidebar .side-note{flex:none}body.vue-app .shell.vue-shell>.sidebar>.btn.full{flex:none;width:100%}body.vue-app .shell.vue-shell>.sidebar .project-context-menu{z-index:var(--z-dropdown);border-color:var(--border);border-radius:var(--radius-m);background:var(--card);max-height:min(360px,100vh - 230px);box-shadow:var(--shadow-pop)}body.vue-app .shell.vue-shell>.sidebar .project-context-option{grid-template-columns:20px minmax(0,1fr)}body.vue-app .shell.vue-shell>.sidebar .project-context-option strong{min-width:0;color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:14px;font-weight:500;overflow:hidden}body.vue-app .shell.vue-shell{min-height:100vh;display:block}body.vue-app .shell.vue-shell>.sidebar{z-index:var(--z-sticky);width:var(--sidebar-width);height:100vh;max-height:100vh;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden auto}body.vue-app .shell.vue-shell>.workspace{width:auto;min-width:0;min-height:100vh;margin-left:var(--sidebar-width)}body.vue-app .shell.vue-shell.sidebar-collapsed>.sidebar{opacity:0;pointer-events:none;border-right:0;width:0;min-width:0;padding-left:0;padding-right:0}body.vue-app .shell.vue-shell.sidebar-collapsed>.workspace{margin-left:0}}body.vue-app .page-header,body.vue-app .vue-workspace .panel-head{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}body.vue-app .page-header__copy,body.vue-app .vue-workspace .panel-head>div:first-child{flex:auto;min-width:0}body.vue-app .page-header__title,body.vue-app .vue-workspace .panel-head h2{color:var(--text-1);margin:0;font-size:20px;font-weight:600;line-height:1.4}body.vue-app .page-header__description,body.vue-app .vue-workspace .panel-head p{max-width:100%;color:var(--text-2);margin:6px 0 0;font-size:13px;line-height:1.5}body.vue-app .page-header__actions,body.vue-app .vue-workspace .panel-head>form,body.vue-app .vue-workspace .panel-head>.button-row,body.vue-app .vue-workspace .panel-head>[class$=-actions]{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:flex-end;gap:10px;min-width:0;display:flex}body.vue-app .page-header--compact .page-header__title{font-size:18px}body.vue-app .empty-state{min-height:152px;color:var(--text-2);text-align:center;align-content:center;place-items:center;gap:7px;padding:24px 16px;display:grid}body.vue-app .empty-state--compact{min-height:104px;padding:16px}body.vue-app .empty-state__icon{width:48px;height:48px;color:var(--text-3)}body.vue-app .empty-state__message,body.vue-app .empty-state__detail{margin:0}body.vue-app .empty-state__message{color:var(--text-2);font-size:14px;font-weight:500}body.vue-app .empty-state__detail{color:var(--text-3);font-size:12px}body.vue-app .empty-state__action{margin-top:5px}body.vue-app .vue-workspace .empty:not(.empty-state){min-height:96px;color:var(--text-2);text-align:center;place-items:center;padding:20px 16px;display:grid}body.vue-app .skeleton-block{border-radius:var(--radius-s);background:var(--surface-muted);min-height:16px;animation:1.2s ease-in-out infinite vue-skeleton-pulse}body.vue-app .loading-state{align-content:center;gap:10px;min-height:152px;padding:20px 16px;display:grid}body.vue-app .loading-state__title{width:min(260px,70%);height:16px}body.vue-app .loading-state__rows{gap:8px;display:grid}body.vue-app .loading-state__rows .skeleton-block{height:12px}body.vue-app .loading-state p{color:var(--text-2);margin:0;font-size:13px}@keyframes vue-skeleton-pulse{0%,to{opacity:.58}50%{opacity:1}}body.vue-app .overview-alert-banner{border:1px solid var(--danger-border);border-radius:var(--radius-m);background:var(--danger-bg);min-width:0;color:var(--danger);flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 16px;padding:10px 16px;font-size:13px;display:flex}body.vue-app .overview-alert-banner__icon{background:var(--danger);width:18px;height:18px;color:var(--on-brand);border-radius:50%;flex:0 0 18px;place-items:center;font-size:12px;font-weight:600;display:inline-grid}body.vue-app .overview-alert-banner__copy{flex:240px;min-width:0}body.vue-app .overview-alert-banner__copy strong{font-weight:600}body.vue-app .overview-alert-banner__action{border:1px solid var(--danger);border-radius:var(--radius-s);background:var(--danger);min-height:30px;color:var(--on-brand);cursor:pointer;font:inherit;white-space:nowrap;padding:0 12px;font-weight:600}body.vue-app .overview-alert-banner__action:hover,body.vue-app .overview-alert-banner__action:focus-visible{background:var(--brand-deep);border-color:var(--brand-deep);outline:0}body.vue-app .vue-workspace .route-viewport,body.vue-app .vue-workspace .route-viewport>*{min-width:0}body.vue-app .vue-workspace .route-viewport .table-wrap,body.vue-app .vue-workspace .route-viewport [class*=table-wrap],body.vue-app .vue-workspace .route-viewport .simple-table{max-width:100%;overflow-x:auto}@media (width<=1280px) and (width>=921px){body.vue-app .vue-workspace{padding:20px}body.vue-app .page-header,body.vue-app .vue-workspace .panel-head{flex-wrap:wrap;gap:12px}body.vue-app .page-header{flex-direction:column}body.vue-app .page-header__actions,body.vue-app .vue-workspace .panel-head>form,body.vue-app .vue-workspace .panel-head>.button-row,body.vue-app .vue-workspace .panel-head>[class$=-actions],body.vue-app .vue-workspace .panel-head>[class$=-toolbar]{flex-basis:100%;justify-content:flex-start;width:100%}}@media (width<=760px){body.vue-app .page-header,body.vue-app .vue-workspace .panel-head{flex-direction:column}body.vue-app .page-header__actions,body.vue-app .vue-workspace .panel-head>form,body.vue-app .vue-workspace .panel-head>.button-row,body.vue-app .vue-workspace .panel-head>[class$=-actions]{justify-content:flex-start;width:100%}}@media (width<=920px){body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.is-expanded .side-subnav{border:0;border-left:1px solid var(--border);width:auto;min-width:0;max-width:100%;max-height:none;box-shadow:none;opacity:1;pointer-events:auto;background:0 0;border-radius:0;gap:2px;margin:0 0 2px 26px;padding:2px 0 2px 10px;display:grid;position:static;overflow:visible;transform:none}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.is-expanded .side-subnav .sub-nav-button{min-width:0;min-height:var(--sidebar-subitem-height);border-radius:var(--radius-s);box-shadow:none;color:var(--text-2);font-size:var(--sidebar-subitem-font-size);font-weight:500;line-height:var(--sidebar-label-line-height);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;padding:0 10px;overflow:hidden}body.desktop-cockpit.vue-app .shell.vue-shell>.sidebar .side-nav-group.is-expanded .side-subnav .sub-nav-button.active{border-color:var(--brand-soft);background:var(--brand-soft);color:var(--brand-deep);font-weight:500}}body.vue-app .vue-workspace :is(.table-wrap,[class$=-table-wrap],[class*=-table-wrap],.simple-table,.inspection-reading-table){overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}body.vue-app .vue-workspace table tbody tr:nth-child(2n){background:var(--surface-soft)}body.vue-app .vue-workspace table thead th{background:var(--surface-soft)!important}body.vue-app .vue-workspace table tbody tr:hover,body.vue-app .vue-workspace table tbody tr:is(.active,.selected,.is-selected){background:var(--brand-soft)}body.vue-app .vue-workspace .simple-table .tr:not(.head):nth-child(odd){background:var(--surface-soft)}body.vue-app .vue-workspace .simple-table .tr:not(.head):hover,body.vue-app .vue-workspace .simple-table .tr:not(.head):is(.active,.selected,.is-selected){background:var(--brand-soft)}body.vue-app .vue-workspace :is(.table,.inspection-reading-table)>.tr:not(.head):nth-child(odd),body.vue-app .vue-workspace .inspection-reading-table>.inspection-reading-row:not(.head):nth-child(odd){background:var(--surface-soft)}body.vue-app .vue-workspace :is(.table,.inspection-reading-table)>.tr:not(.head):hover,body.vue-app .vue-workspace .inspection-reading-table>.inspection-reading-row:not(.head):hover{background:var(--brand-soft)}body.vue-app .vue-workspace .work-order-table{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}body.vue-app .vue-workspace .work-order-table-head,body.vue-app .vue-workspace .work-order-row{min-width:860px}body.vue-app .vue-workspace .work-order-row:nth-child(odd){background:var(--surface-soft)}body.vue-app .vue-workspace .work-order-row:hover{background:var(--brand-soft);box-shadow:none;transform:none}body.vue-app .vue-workspace :is(.link-btn,.table-action){color:var(--brand);white-space:nowrap;font-weight:500;text-decoration:none}body.vue-app .vue-workspace :is(.link-btn,.table-action):hover,body.vue-app .vue-workspace :is(.link-btn,.table-action):focus-visible{color:var(--brand-deep);outline:0;text-decoration:underline}body.vue-app .vue-workspace .link-btn.danger,body.vue-app .vue-workspace .link-btn.danger:hover,body.vue-app .vue-workspace .link-btn.danger:focus-visible{color:var(--danger)}
