.download-notice[data-v-d95ed039]{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-d95ed039]{color:#126a35;background:#f0fbf3;border-color:#b7e1c1}.download-notice.error[data-v-d95ed039]{color:#a5271f;background:#fff5f3;border-color:#f0c2bd}.download-notice-enter-active[data-v-d95ed039],.download-notice-leave-active[data-v-d95ed039]{transition:opacity .16s,transform .16s}.download-notice-enter-from[data-v-d95ed039],.download-notice-leave-to[data-v-d95ed039]{opacity:0;transform:translateY(8px)}.vue-request-indicator[data-v-6f942d38]{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-6f942d38]{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-6f942d38]{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-6f942d38}@keyframes vue-request-spin-6f942d38{to{transform:rotate(360deg)}}.request-overlay-enter-active[data-v-6f942d38],.request-overlay-leave-active[data-v-6f942d38]{transition:opacity var(--tr)}.request-overlay-enter-from[data-v-6f942d38],.request-overlay-leave-to[data-v-6f942d38]{opacity:0}.recent-tasks[data-v-292e24b9]{min-width:0;position:relative;overflow:visible}.recent-tasks button[data-v-292e24b9]{min-height:0}.recent-tasks p[data-v-292e24b9]{color:#718b98;padding:0 10px;font-size:12px}.recent-row[data-v-292e24b9]{align-items:center;min-width:0;display:flex;overflow:hidden}.recent-row button[data-v-292e24b9],.recent-tasks>button[data-v-292e24b9],.recent-confirm button[data-v-292e24b9]{color:#526c7a;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px}.recent-row button[data-v-292e24b9]:hover,.recent-tasks>button[data-v-292e24b9]:hover{background:#dce7eec7}.recent-title[data-v-292e24b9]{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;width:0;min-width:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:13px;font-weight:500;line-height:1.4;display:block;overflow:hidden}.recent-row form[data-v-292e24b9]{flex-wrap:wrap;width:100%;min-width:0;display:flex}.recent-row input[data-v-292e24b9]{width:100%;min-width:0}.recent-confirm[data-v-292e24b9]{background:#f8fbfd;border:1px solid #cddde5;border-radius:6px;padding:8px}.recent-context-menu[data-v-292e24b9]{z-index:1000;background:#fff;border:1px solid #cddde5;border-radius:7px;min-width:132px;padding:4px;display:grid;position:fixed;box-shadow:0 8px 22px #1f465c29}.recent-context-menu button[data-v-292e24b9]{color:#3f6071;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 10px;font-family:inherit;font-size:12px}.recent-context-menu button[data-v-292e24b9]:hover{background:#eaf3f7}.recent-context-menu .is-danger[data-v-292e24b9]{color:#b42318}.visual-workspace-toggle[data-v-651c05ac]{z-index:901;color:#fff;cursor:pointer;background:#2491cf61;border:1px solid #3591c373;border-right:0;border-radius:21px 0 0 21px;width:16px;height:42px;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:0 2px 8px #18699a24}.visual-workspace-toggle.is-open[data-v-651c05ac]{right:min(350px,100% - 16px)}.visual-workspace-toggle.is-open.is-docked[data-v-651c05ac]{right:var(--visual-workspace-width)}.visual-workspace-toggle[data-v-651c05ac]:hover{background:#187ebe8c;border-color:#2d9bd0}.workspace-chevron[data-v-651c05ac]{place-items:center;font-size:22px;font-weight:400;line-height:1;display:grid}.visual-workspace-panel[data-v-651c05ac]{z-index:900;color:#5a6b7f;background:#f6f9fb;border-left:1px solid #d7e3e9;flex-direction:column;width:min(350px,100%);min-height:0;display:flex;position:fixed;inset:0 0 0 auto;box-shadow:-6px 0 18px #1f465c14}.visual-workspace-panel.is-docked[data-v-651c05ac]{width:var(--visual-workspace-width);box-shadow:none}.vw-header[data-v-651c05ac]{border-bottom:1px solid #dce6eb;flex:none;justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex}.vw-header-copy[data-v-651c05ac]{flex-direction:column;gap:3px;min-width:0;display:flex}.vw-header-copy strong[data-v-651c05ac]{color:#1f2d3d;letter-spacing:.02em;font-size:14px;font-weight:600}.vw-header-copy span[data-v-651c05ac]{color:#8494a7;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.vw-header>button[data-v-651c05ac]{color:#8494a7;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;font-size:22px;line-height:1;display:grid}.vw-header>button[data-v-651c05ac]:hover{color:#5a6b7f}.vw-section-label[data-v-651c05ac]{color:#8494a7;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.vw-section-label em[data-v-651c05ac]{color:#8494a7;font-variant-numeric:tabular-nums;background:#eef2f5;border-radius:8px;padding:0 7px;font-size:11px;font-style:normal;font-weight:500;line-height:16px}.vw-section-label time[data-v-651c05ac]{letter-spacing:0;font-variant-numeric:tabular-nums;font-weight:400}.vw-queue[data-v-651c05ac]{border-bottom:1px solid #dce6eb;flex:none;padding:12px 12px 8px}.vw-queue-head[data-v-651c05ac]{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:0 2px 8px;display:flex}.vw-queue-head .vw-section-label[data-v-651c05ac]{flex:1;padding:0}.vw-queue-chevron[data-v-651c05ac]{color:#8494a7;flex:none;font-size:10px}.vw-queue-head:hover .vw-queue-chevron[data-v-651c05ac]{color:#1e6feb}.vw-queue-search[data-v-651c05ac]{padding-bottom:8px;display:block;position:relative}.vw-queue-search input[data-v-651c05ac]{color:#1f2d3d;background:#fff;border:1px solid #d7e2e8;border-radius:8px;outline:none;width:100%;height:28px;padding:0 24px 0 9px;font-size:12px}.vw-queue-search input[data-v-651c05ac]::placeholder{color:#a9b7c4}.vw-queue-search input[data-v-651c05ac]:focus{border-color:#9bd3e3;box-shadow:0 0 0 2px #1e6feb14}.vw-queue-search button[data-v-651c05ac]{color:#8494a7;cursor:pointer;background:0 0;border:0;width:20px;height:20px;font-size:14px;line-height:1;position:absolute;top:4px;right:4px}.vw-queue-search button[data-v-651c05ac]:hover{color:#1f2d3d}.vw-queue-more[data-v-651c05ac]{color:#6a9bb0;cursor:pointer;background:0 0;border:1px dashed #d7e2e8;border-radius:8px;width:100%;margin-top:4px;padding:5px;font-size:11px}.vw-queue-more[data-v-651c05ac]:hover{color:#1e6feb;background:#f6fdff;border-color:#9bd3e3}.vw-queue-list[data-v-651c05ac]{flex-direction:column;gap:2px;max-height:172px;display:flex;overflow:auto}.vw-queue-item[data-v-651c05ac]{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;width:100%;padding:7px 8px;display:flex}.vw-queue-item[data-v-651c05ac]:hover{background:#eef3f8}.vw-queue-item.is-active[data-v-651c05ac]{background:#fff;border-color:#d7e2e8;box-shadow:0 1px 3px #1f465c0f}.vw-queue-item.is-active .vw-queue-title[data-v-651c05ac]{color:#1e6feb;font-weight:500}.vw-status[data-v-651c05ac]{background:#c3d0da;border-radius:50%;flex:none;width:7px;height:7px}.vw-status.is-done[data-v-651c05ac]{background:#1e6feb}.vw-status.is-live[data-v-651c05ac]{background:#16a34a;animation:1.2s ease-in-out infinite vw-pulse-651c05ac}@keyframes vw-pulse-651c05ac{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.vw-queue-title[data-v-651c05ac]{color:#1f2d3d;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.vw-queue-item time[data-v-651c05ac]{color:#8494a7;font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.vw-queue-empty[data-v-651c05ac]{color:#8494a7;text-align:center;padding:14px 8px;font-size:11px;line-height:1.6}.vw-tabs[data-v-651c05ac]{border-bottom:1px solid #dce6eb;flex:none;height:44px;display:flex}.vw-tabs button[data-v-651c05ac]{color:#8494a7;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;font-size:12px;position:relative}.vw-tabs button[data-v-651c05ac]:hover{color:#5a6b7f}.vw-tabs .active[data-v-651c05ac]{color:#1f2d3d;border-bottom-color:#1e6feb;font-weight:500}.vw-live-dot[data-v-651c05ac]{background:#16a34a;border-radius:50%;width:6px;height:6px;margin-left:4px;animation:1.2s ease-in-out infinite vw-pulse-651c05ac;position:absolute;top:10px}.vw-body[data-v-651c05ac]{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px 12px;display:flex;overflow:auto}.vw-card[data-v-651c05ac]{background:#fff;border:1px solid #e2eaef;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.vw-card .vw-section-label[data-v-651c05ac]{padding-bottom:2px}.vw-meta[data-v-651c05ac]{flex-direction:column;gap:6px;margin:0;display:flex}.vw-meta>div[data-v-651c05ac]{gap:12px;font-size:12px;line-height:1.5;display:flex}.vw-meta dt[data-v-651c05ac]{color:#8494a7;flex:none;width:60px}.vw-meta dd[data-v-651c05ac]{color:#1f2d3d;overflow-wrap:anywhere;min-width:0;margin:0}.vw-text[data-v-651c05ac]{color:#1f2d3d;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.7}.vw-answer-text[data-v-651c05ac]{color:#1f2d3d}.vw-blank-text[data-v-651c05ac]{color:#8494a7;margin:0;font-size:12px}.vw-blank[data-v-651c05ac]{color:#8494a7;text-align:center;border:1px dashed #d7e2e8;border-radius:12px;padding:26px 14px;font-size:12px;line-height:1.7}.vw-sources[data-v-651c05ac]{border-top:1px solid #eef2f5;flex-wrap:wrap;align-items:center;gap:6px;padding-top:2px;display:flex}.vw-sources-label[data-v-651c05ac]{color:#8494a7;flex:none;font-size:11px}.vw-source-chip[data-v-651c05ac]{text-overflow:ellipsis;white-space:nowrap;color:#5a6b7f;background:#f2f6fa;border:1px solid #e2eaef;border-radius:6px;max-width:100%;padding:2px 8px;font-size:11px;overflow:hidden}.vw-flow-card[data-v-651c05ac]{padding-bottom:8px}.vw-flow[data-v-651c05ac]{align-items:flex-start;padding:8px 2px 4px;display:flex}.vw-flow-step[data-v-651c05ac]{flex-direction:column;flex:none;align-items:center;gap:5px;width:50px;display:flex}.vw-flow-link[data-v-651c05ac]{background:#e2eaef;border-radius:1px;flex:1;height:2px;margin-top:5.5px}.vw-flow-link.is-done[data-v-651c05ac]{background:#1e6feb}.vw-flow-dot[data-v-651c05ac]{box-sizing:content-box;background:#c9d5dd;border:2px solid #fff;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #e2eaef}.vw-flow-dot.is-done[data-v-651c05ac]{background:#1e6feb;box-shadow:0 0 0 1px #1e6feb}.vw-flow-dot.is-current[data-v-651c05ac]{background:#fff;box-shadow:0 0 0 1px #1e6feb}.vw-flow-dot.is-live[data-v-651c05ac]{background:#16a34a;animation:1.2s ease-in-out infinite vw-pulse-651c05ac;box-shadow:0 0 0 1px #16a34a}.vw-flow-label[data-v-651c05ac]{color:#8494a7;white-space:nowrap;letter-spacing:.02em;font-size:10px}.vw-flow-label.is-done[data-v-651c05ac]{color:#1f2d3d}.vw-timeline[data-v-651c05ac]{flex-direction:column;margin:0;padding:2px 0 2px 2px;list-style:none;display:flex}.vw-entry[data-v-651c05ac]{padding:0 0 14px 20px;position:relative}.vw-entry[data-v-651c05ac]:before{content:"";background:#e2eaef;width:1px;position:absolute;top:14px;bottom:-2px;left:3.5px}.vw-entry[data-v-651c05ac]:last-child:before{display:none}.vw-dot[data-v-651c05ac]{box-sizing:content-box;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:0}.vw-entry.is-user .vw-dot[data-v-651c05ac]{background:#1e6feb}.vw-entry.is-assistant .vw-dot[data-v-651c05ac]{background:#9fb6c9}.vw-entry.is-pending .vw-dot[data-v-651c05ac]{background:#dbe4ea}.vw-text.is-pending[data-v-651c05ac]{color:#93a5b3}.vw-entry.is-live .vw-dot[data-v-651c05ac]{background:#16a34a;animation:1.2s ease-in-out infinite vw-pulse-651c05ac}.vw-entry-body[data-v-651c05ac]{flex-direction:column;gap:6px;min-width:0;display:flex}.vw-entry-body header[data-v-651c05ac]{align-items:center;gap:8px;display:flex}.vw-entry-body header span[data-v-651c05ac]{letter-spacing:.04em;color:#8494a7;font-size:11px;font-weight:600}.vw-entry-body header time[data-v-651c05ac]{color:#8494a7;font-variant-numeric:tabular-nums;font-size:10.5px}@media (width<=920px){.visual-workspace-toggle[data-v-651c05ac]{top:auto;right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));background:#248fca;border:1px solid #3591c373;border-radius:50%;width:48px;height:48px;transform:none;box-shadow:0 8px 24px #18699a4d}.visual-workspace-toggle.is-docked[data-v-651c05ac]{bottom:calc(160px + env(safe-area-inset-bottom))}.visual-workspace-toggle.is-open[data-v-651c05ac]{display:none}.visual-workspace-panel[data-v-651c05ac],.visual-workspace-panel.is-docked[data-v-651c05ac]{inset:calc(58px + env(safe-area-inset-top)) 0 0;z-index:950;border:0;border-top:1px solid #d7e3e9;width:100%;height:auto;max-height:none;position:fixed;box-shadow:0 -8px 28px #1f465c29}.visual-workspace-panel .vw-header[data-v-651c05ac],.visual-workspace-panel.is-docked .vw-header[data-v-651c05ac]{height:56px;padding:0 12px 0 16px}.visual-workspace-panel .vw-tabs[data-v-651c05ac],.visual-workspace-panel.is-docked .vw-tabs[data-v-651c05ac]{height:44px}.vw-tabs button[data-v-651c05ac],.vw-queue-item[data-v-651c05ac]{min-height:44px}.vw-body[data-v-651c05ac]{padding-bottom:max(16px,env(safe-area-inset-bottom))}}: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{z-index:var(--z-overlay);box-sizing:border-box;background:#11283975;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.work-order-drawer-backdrop{z-index:var(--z-overlay);position:fixed;inset:0}.modal-card,.assistant-modal,.work-order-modal,.iot-vue-modal{z-index:var(--z-modal);box-sizing:border-box;min-height:0;max-height:min(760px,100vh - 40px);margin:auto}.modal-card,.work-order-modal,.iot-vue-modal{overflow:auto}.assistant-modal{overflow:hidden}.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:auto;min-height:0;overflow:hidden auto}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;overflow:hidden}body.vue-app .shell.vue-shell>.sidebar .side-nav{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:transparent transparent}body.vue-app .shell.vue-shell>.sidebar .side-nav::-webkit-scrollbar{width:6px}body.vue-app .shell.vue-shell>.sidebar .side-nav::-webkit-scrollbar-track{background:0 0}body.vue-app .shell.vue-shell>.sidebar .side-nav::-webkit-scrollbar-thumb{background:padding-box padding-box;border:1px solid #0000;border-radius:999px}body.vue-app .shell.vue-shell>.sidebar:hover .side-nav,body.vue-app .shell.vue-shell>.sidebar.is-scrolling .side-nav{scrollbar-color:#47708b7a transparent}body.vue-app .shell.vue-shell>.sidebar:hover .side-nav::-webkit-scrollbar-thumb{background:#47708b7a padding-box padding-box}body.vue-app .shell.vue-shell>.sidebar.is-scrolling .side-nav::-webkit-scrollbar-thumb{background:#47708b7a padding-box padding-box}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)}body.vue-app{--sidebar-width:270px}body.vue-app .shell.vue-shell>.sidebar.center-sidebar{color:#4f6876;letter-spacing:0;background:linear-gradient(#eef3f8 0%,#edf4f8 54%,#f1f8e8 100%);border-right:1px solid #dce6eb;flex-direction:column;gap:0;padding:22px 14px 12px;display:flex}body.vue-app .center-sidebar .center-brand{flex:none;align-items:center;gap:10px;min-height:40px;margin:0 16px 22px 8px;display:flex}.center-brand-mark{color:#3b8eab;background:0 0;border-radius:0;flex:none;place-items:center;width:52px;height:40px;display:grid}.center-brand>div{min-width:0}.center-brand strong{color:#203846;white-space:nowrap;font-size:17px;font-weight:680;display:block}.center-brand small{color:#7795a6;letter-spacing:0;margin-top:4px;font-size:9px;display:block}body.vue-app .shell.vue-shell>.center-sidebar .desktop-sidebar-collapse-button{color:#6f8e9d;background:0 0;border:0;width:22px;height:22px;min-height:22px;top:5px;right:4px}.center-project{z-index:2;flex:none;position:relative}.center-project .vue-project-switch{margin:0}body.vue-app .center-project .project-context-trigger{color:#41677e;width:100%;min-height:43px;box-shadow:none;text-align:left;background:#f8fbfd;border:1px solid #d1e0e8;border-radius:7px;align-items:center;gap:8px;padding:8px 11px;display:flex}.center-project .project-context-trigger>svg{color:#6597ad;flex:none}.center-project .project-context-value{flex:1;min-width:0}.center-project .project-context-value strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}body.desktop-cockpit.vue-app .shell.vue-shell>.center-sidebar .side-nav{scrollbar-width:none;scrollbar-width:none;scrollbar-color:transparent transparent;flex:auto;gap:3px;min-height:0;margin:14px 0 16px;padding:0;overflow:auto}body.vue-app .shell.vue-shell>.center-sidebar .side-nav::-webkit-scrollbar{width:0;height:0;display:none}body.vue-app .shell.vue-shell>.center-sidebar .side-nav-group{flex:none;display:block}body.vue-app .shell.vue-shell>.center-sidebar .side-nav-link,body.vue-app .shell.vue-shell>.center-sidebar .side-nav-trigger{color:#526c7a;width:100%;min-height:38px;box-shadow:none;background:0 0;border:0;border-radius:6px;gap:9px;padding:8px 10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:15px;font-weight:560;line-height:1.4}body.vue-app .shell.vue-shell>.center-sidebar .center-top-entry .side-nav-link{min-height:44px;padding:10px 12px;font-size:15px}body.vue-app .shell.vue-shell>.center-sidebar .side-nav svg{color:#6f8e9d;flex:none}body.vue-app .shell.vue-shell>.center-sidebar .side-nav .nav-label{white-space:normal;overflow-wrap:anywhere}body.vue-app .shell.vue-shell>.center-sidebar .side-nav-link .nav-pending-badge{color:#fff;letter-spacing:0;background:linear-gradient(135deg,#f2926b,#e2543a);border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 4px #e2543a47}body.vue-app .shell.vue-shell>.center-sidebar .side-nav-link:hover .nav-pending-badge{box-shadow:0 2px 6px #e2543a61}body.vue-app .shell.vue-shell>.center-sidebar .side-nav-link:hover,body.vue-app .shell.vue-shell>.center-sidebar .side-nav-trigger:hover,body.vue-app .shell.vue-shell>.center-sidebar .side-nav-link.active,body.vue-app .shell.vue-shell>.center-sidebar .side-nav-trigger.active{color:#294f62;box-shadow:none;background:#dce7eec7;transform:none}body.vue-app .shell.vue-shell>.center-sidebar .side-nav-link.active{box-shadow:inset 2px 0 #5996b2}body.vue-app .shell.vue-shell>.center-sidebar .side-nav .center-section-heading{color:#8099a5;border-top:1px solid #d8e4e9;flex:none;justify-content:space-between;margin-top:17px;padding:14px 10px 7px;font-size:12px;font-weight:600;display:flex}body.vue-app .shell.vue-shell>.center-sidebar .center-subnav{border-left:1px solid #cddde5;gap:2px;margin:3px 0 7px 17px;padding-left:8px;display:grid}body.vue-app .shell.vue-shell>.center-sidebar .center-subnav a,body.vue-app .shell.vue-shell>.center-sidebar .center-subnav button{color:#526c7a;width:100%;min-height:35px;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;margin:0;padding:7px 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;display:flex;transform:none}body.vue-app .shell.vue-shell>.center-sidebar .center-subnav a:before,body.vue-app .shell.vue-shell>.center-sidebar .center-subnav a:after{display:none}body.vue-app .shell.vue-shell>.center-sidebar .center-feature-trigger>.nav-label{flex:1;min-width:0}body.vue-app .shell.vue-shell>.center-sidebar .center-feature-trigger>span:last-child{flex:0 0 20px;place-items:center;width:20px;height:20px;margin-left:auto;line-height:1;display:grid}body.vue-app .shell.vue-shell>.center-sidebar .center-feature-trigger,body.vue-app .shell.vue-shell>.center-sidebar .center-subnav .center-feature-trigger{padding-right:8px}body.vue-app .shell.vue-shell>.center-sidebar .center-subnav .center-feature-trigger{width:calc(100% + 17px)}.center-feature-trigger .rotated{transform:rotate(180deg)}.center-feature-pages{gap:2px;margin-left:23px;display:grid}body.vue-app .shell.vue-shell>.center-sidebar .center-subnav a:hover,body.vue-app .shell.vue-shell>.center-sidebar .center-subnav button:hover,body.vue-app .shell.vue-shell>.center-sidebar .center-subnav a.active,body.vue-app .shell.vue-shell>.center-sidebar .center-subnav button.active{color:#294f62;box-shadow:none;background:#dce8ef;transform:none}body.vue-app .shell.vue-shell>.center-sidebar .center-subnav a.active{box-shadow:inset 2px 0 #5996b2}body.vue-app .shell.vue-shell>.center-sidebar .recent-tasks,body.vue-app .shell.vue-shell>.center-sidebar .recent-row{width:100%;min-width:0}body.vue-app .shell.vue-shell>.center-sidebar .recent-row button:before,body.vue-app .shell.vue-shell>.center-sidebar .recent-row button:after,body.vue-app .shell.vue-shell>.center-sidebar .recent-tasks>button:before,body.vue-app .shell.vue-shell>.center-sidebar .recent-tasks>button:after{content:none;display:none}body.vue-app .shell.vue-shell>.center-sidebar .recent-row>button{flex:none;place-items:center;width:30px;min-width:30px;height:30px;padding:0;display:grid}body.vue-app .shell.vue-shell>.center-sidebar .recent-row+.recent-row{margin-top:2px}body.vue-app .shell.vue-shell>.center-sidebar .recent-row>button.recent-title{flex:auto;width:auto;min-width:0;height:26px;padding:0 10px 0 22px;font-size:13px;line-height:26px;display:block;overflow:hidden}body.vue-app .shell.vue-shell>.center-sidebar .recent-heading{justify-content:flex-start;align-items:center;gap:6px}body.vue-app .shell.vue-shell>.center-sidebar .recent-heading>span:first-child{flex:1}body.vue-app .shell.vue-shell>.center-sidebar .recent-tools{align-items:center;gap:2px;display:flex}body.vue-app .shell.vue-shell>.center-sidebar .recent-tool{color:#8099a5;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:22px;height:22px;padding:0;display:grid}body.vue-app .shell.vue-shell>.center-sidebar .recent-tool:before,body.vue-app .shell.vue-shell>.center-sidebar .recent-tool:after{content:none;display:none}body.vue-app .shell.vue-shell>.center-sidebar .recent-tool:hover{color:#294f62;background:#dce7eec7}body.vue-app .shell.vue-shell>.center-sidebar .recent-tool svg{width:13px;height:13px}body.vue-app .shell.vue-shell>.center-sidebar .recent-tool .rotated{transform:rotate(180deg)}body.vue-app .shell.vue-shell>.center-sidebar .recent-search{padding:0 10px 6px 12px}body.vue-app .shell.vue-shell>.center-sidebar .recent-search input{color:#386175;background:#f8fbfd;border:1px solid #cddde5;border-radius:6px;width:100%;height:26px;padding:0 8px;font-family:inherit;font-size:12px}body.vue-app .shell.vue-shell>.center-sidebar .recent-search input::placeholder{color:#93aebc}body.vue-app .shell.vue-shell>.center-sidebar .recent-search input:focus{outline-offset:-2px;border-color:#a9c9d7;outline:2px solid #5996b2}body.vue-app .shell.vue-shell>.center-sidebar .recent-tasks>.recent-more{color:#8099a5;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;height:24px;margin-top:2px;padding:0 10px 0 22px;font-family:inherit;font-size:12px;line-height:24px;display:block;overflow:hidden}body.vue-app .shell.vue-shell>.center-sidebar .recent-tasks>.recent-more:hover{color:#294f62;background:#dce7eec7}body.vue-app .center-sidebar .center-account{border-top:1px solid #d8e4e9;flex:none;align-items:center;gap:7px;margin-top:auto;padding:12px 5px 0;display:flex}body.vue-app .center-sidebar .cockpit-entry{color:#386175;border-top:1px solid #d8e4e9;flex:none;align-items:center;gap:7px;margin:auto 0 0;padding:10px 5px;font-size:12px;font-weight:600;text-decoration:none;transition:background .16s;display:flex}body.vue-app .center-sidebar .cockpit-entry span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body.vue-app .center-sidebar .cockpit-entry .center-avatar{color:#3b8eab}body.vue-app .center-sidebar .cockpit-entry:hover,body.vue-app .center-sidebar .cockpit-entry:focus-visible{background:#eaf3f6}body.vue-app .center-sidebar .cockpit-entry+.center-account{border-top:0;margin-top:0;padding-top:2px}.center-avatar{color:#618ba0;background:#e0edf1;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;display:grid}.center-account-copy{flex:1;min-width:0}.center-account-copy strong,.center-account-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.center-account-copy strong{color:#386175;font-size:12px;font-weight:600}.center-account-copy small{color:#839b9e;margin-top:3px;font-size:10px}.center-account button{color:#7292a0;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;width:30px;height:32px;padding:0;display:grid}.center-account button:hover{color:#294f62;background:#deebee}body.vue-app .center-sidebar .app-version{color:#8198a0;flex:none;margin-top:8px;font-size:10px}body.vue-app .shell.vue-shell>.center-sidebar :is(button,a):focus-visible{outline-offset:-2px;outline:2px solid #5996b2}@media (width>=921px){body.vue-app .shell.vue-shell>.sidebar.center-sidebar{overflow:hidden}}@media (width<=920px){body.vue-app .shell.vue-shell>.sidebar.center-sidebar{width:min(300px,100vw - 32px);height:100dvh;max-height:100dvh}body.vue-app .shell.vue-shell>.center-sidebar .side-nav{flex:auto;margin:14px 0 16px;overflow:auto}body.vue-app .center-sidebar .center-brand{margin-top:12px}}.center-brand-mark img{object-fit:contain;width:100%;height:100%}body.vue-app .vue-workspace{color:#24465a;background-color:#f1f7fa;background-image:linear-gradient(#70a3ba1a 1px,#0000 1px),linear-gradient(90deg,#70a3ba1a 1px,#0000 1px);background-size:32px 32px;font-size:14px}body.vue-app .vue-workspace .route-viewport>:not(.qa-assistant-page):not(.cockpit-standalone){box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding:24px 28px}body.vue-app .vue-workspace .route-viewport>.v3-capability-page.is-board-page{gap:0;padding-top:10px}body.vue-app .vue-workspace .panel,body.vue-app .vue-workspace .module-placeholder,body.vue-app .vue-workspace .panel-lite{background:#ffffffe0!important;border:1px solid #b1cfdcb8!important;border-radius:18px!important;box-shadow:0 10px 26px #39677e14!important}body.vue-app .vue-workspace :is(.panel-head,.page-header,.topbar) h1,body.vue-app .vue-workspace :is(.panel-head,.page-header,.topbar) h2{line-height:1.4;font-size:21px!important}body.vue-app .vue-workspace p,body.vue-app .vue-workspace td,body.vue-app .vue-workspace th,body.vue-app .vue-workspace label,body.vue-app .vue-workspace .empty,body.vue-app .vue-workspace .pill,body.vue-app .vue-workspace .tag{font-size:14px}body.vue-app .vue-workspace .panel-head p,body.vue-app .vue-workspace .page-header p{font-size:14px;line-height:1.6}body.vue-app .vue-workspace :is(.topbar,.page-header){box-shadow:none;background:0 0;border-bottom:1px solid #d3e2e9;border-radius:0;padding-bottom:20px;border:0!important}body.vue-app .vue-workspace :is(.panel-head,.page-header,.topbar) :is(h1,h2){color:#174d68;letter-spacing:0}body.vue-app .vue-workspace .panel-head{border-bottom-color:#cbdfe8}body.vue-app .vue-workspace table thead th{color:#31566b;background:#eaf2f7!important}body.vue-app .vue-workspace .v3-capability-page{align-content:start;gap:24px}body.vue-app .vue-workspace .capability-card{border-color:#cedfe8;box-shadow:0 3px 10px #20526b0b}body.vue-app .vue-workspace .capability-icon{color:#27788d;background:#e3f2f3}body.vue-app .shell.vue-shell>.vue-workspace.conversation-workspace{background:#fff;height:100dvh;min-height:0;padding:0;overflow:hidden}body.vue-app .conversation-workspace>.route-viewport{background:#fff;height:100%;min-height:0;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}body.vue-app .conversation-workspace .qa-assistant-page{height:100%;min-height:0;max-height:none;box-shadow:none;background:#fff;border-radius:0;margin:0;padding:0;border:0!important}body.vue-app .conversation-workspace .qa-chat-surface,body.vue-app .conversation-workspace .qa-conversation{box-shadow:none!important;border:0!important;border-radius:0!important}body.vue-app .conversation-workspace .qa-page-head{background:#f8fcfd;border-bottom:1px solid #dce9ee;flex-wrap:wrap;flex:none;gap:10px;padding:15px 30px}body.vue-app .conversation-workspace .qa-page-actions{flex-wrap:wrap;max-width:100%;position:static}body.vue-app .conversation-workspace .qa-body,body.vue-app .conversation-workspace .qa-chat-surface{flex:1 1 0;min-height:0;display:flex;overflow:hidden}body.vue-app .conversation-workspace .qa-chat-surface{flex-direction:column}body.vue-app .conversation-workspace .qa-conversation{background-image:linear-gradient(#edf4f740 1px,#0000 1px),linear-gradient(90deg,#edf4f740 1px,#0000 1px);background-size:32px 32px;flex:1 1 0;min-height:0;padding:20px 30px}body.vue-app .conversation-workspace .qa-composer-wrap{padding:12px 30px max(12px, env(safe-area-inset-bottom));background:#fff;flex:none;margin:0;border:0!important}body.vue-app .conversation-workspace .qa-composer{box-shadow:none;background:#fff;border:1px solid #bdd6e2;border-radius:8px;margin:0;padding:10px 12px}body.vue-app .conversation-workspace .qa-composer textarea,body.vue-app .conversation-workspace .qa-composer textarea:hover,body.vue-app .conversation-workspace .qa-composer textarea:focus{resize:none;background:0 0;outline:0;height:70px;min-height:70px;margin:0;padding:6px 2px;box-shadow:none!important;border:0!important;border-radius:0!important}body.vue-app .conversation-workspace .qa-knowledge-guide{border-radius:0;flex:none;margin:0}body.vue-app .shell.vue-shell{--visual-workspace-width:min(350px, 30vw)}@media (width>=921px){body.vue-app .shell.vue-shell.sidebar-collapsed>.sidebar.center-sidebar{border:0;padding:0}body.vue-app .shell.vue-shell.conversation-panel-open>.conversation-workspace{margin-right:var(--visual-workspace-width)}}body.vue-app .conversation-workspace .assistant-input,body.vue-app .conversation-workspace .qa-inline-quick,body.vue-app .conversation-workspace .qa-quote-bar,body.vue-app .conversation-workspace .qa-input-error{width:100%;max-width:1100px;margin-left:auto;margin-right:auto}body.vue-app .conversation-workspace .assistant-input .assistant-input-form textarea,body.vue-app .conversation-workspace .assistant-input .assistant-input-form textarea:hover,body.vue-app .conversation-workspace .assistant-input .assistant-input-form textarea:focus{resize:none;height:64px;min-height:64px;max-height:64px;margin:0;padding:14px 16px 6px;font-size:14px;line-height:1.6;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:none!important}body.vue-app .conversation-workspace .qa-inline-quick{flex-wrap:wrap;gap:4px 14px;margin-bottom:10px;display:flex}body.vue-app .conversation-workspace .qa-inline-quick button{min-height:24px;box-shadow:none;color:var(--text-3);text-align:left;background:0 0;border:0;border-radius:0;flex:0 auto;padding:2px 0;font-size:12px}body.vue-app .conversation-workspace .qa-inline-quick button:hover:not(:disabled){color:var(--brand);background:0 0}@media (width<=920px){body.vue-app .vue-workspace .route-viewport>:not(.qa-assistant-page):not(.cockpit-standalone){padding:18px 16px}body.vue-app .shell.vue-shell>.vue-workspace.conversation-workspace{height:calc(100dvh - 58px - env(safe-area-inset-top))}body.vue-app .conversation-workspace .qa-page-head{padding:12px 16px}body.vue-app .conversation-workspace .qa-conversation{padding:16px}body.vue-app .conversation-workspace .qa-welcome-agent{padding:12px 0}body.vue-app .conversation-workspace .qa-composer-wrap{padding:10px 16px max(10px, env(safe-area-inset-bottom))}}body.vue-app .shell.vue-shell.cockpit-shell,body.vue-app .shell.vue-shell.cockpit-shell>.cockpit-workspace,body.vue-app .cockpit-workspace>.route-viewport{background:#061626;width:100%;height:100dvh;min-height:0;margin:0;padding:0;overflow:hidden}.dashboard-grid{--dash-shadow:0 1px 3px #1f2d3d0d, 0 1px 2px #1f2d3d0a}[data-theme=dark] .dashboard-grid{--dash-shadow:none}.dashboard-page{color:var(--text-1);background:var(--bg);text-align:left;padding:32px clamp(20px,5vw,64px);position:relative}.dashboard-page.is-embedded{background:0 0;width:100%;padding:0}.dashboard-page.is-board-single-row .dashboard-grid{min-height:0}.dashboard-edit-button{z-index:6;border-radius:var(--radius-s);background:var(--brand-soft);width:30px;height:30px;color:var(--brand);cursor:pointer;opacity:0;border:1px solid #0000;place-items:center;transition:opacity .16s;display:inline-grid;position:absolute;top:0;right:0;box-shadow:0 2px 6px #1f2d3d29}.dashboard-page:hover .dashboard-edit-button,.dashboard-edit-button:focus-visible{opacity:1}.dashboard-edit-button:hover{background:var(--brand);color:var(--on-brand)}@media (hover:none){.dashboard-edit-button{opacity:1}}.dashboard-sync-warning{z-index:5;border-radius:var(--radius-s);color:#8a6116;background:#fdf6e6;border:1px solid #f0d9a8;padding:5px 9px;font-size:11px;line-height:1.2;position:absolute;top:0;right:0}.dashboard-board-bar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:2px;display:flex}.dashboard-page.is-compact .dashboard-grid{min-height:0}.dashboard-page:not(.is-board-editing) .dashboard-grid{margin-top:0}.dashboard-page.is-compact:not(.is-board-editing){overscroll-behavior:contain;max-height:46vh;overflow-y:auto}.operator-workspace-head{justify-content:space-between;align-items:flex-end;gap:20px;padding:2px 8px 12px;display:flex}.operator-workspace-head span{color:var(--brand);font-size:12px;font-weight:700}.operator-workspace-head h1{color:var(--text-1);letter-spacing:0;margin:4px 0 0;font-size:22px}.operator-workspace-head p{color:var(--text-3);margin:5px 0 0;font-size:13px}.operator-workspace-head>strong{color:var(--text-2);white-space:nowrap;font-size:13px}.dashboard-grid .operator-widget{gap:10px}.dashboard-widget-shell:has(>.operator-widget)>.widget-card-footer{display:none}.dashboard-widget-shell:has(>.role-function-widget)>.widget-card-footer{display:none}.dashboard-grid .operator-widget header b{color:var(--brand);font-size:12px}.operator-overview-copy{gap:3px;display:grid}.operator-overview-copy strong{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.operator-overview-copy span{color:var(--text-3);font-size:12px}.operator-count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:auto;display:grid}.operator-count-grid div{border:1px solid var(--border);background:color-mix(in srgb, var(--brand) 4%, var(--card));border-radius:6px;gap:2px;min-width:0;padding:8px;display:grid}.operator-count-grid div.is-alert{border-color:color-mix(in srgb, var(--danger) 38%, var(--border));background:color-mix(in srgb, var(--danger) 6%, var(--card))}.operator-count-grid strong{color:var(--text-1);font-size:18px}.operator-count-grid small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.operator-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-height:0;display:grid}.operator-action-grid button{border:1px solid var(--border);background:color-mix(in srgb, var(--brand) 3%, var(--card));min-width:0;min-height:48px;color:var(--text-2);text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 9px;display:grid}.operator-action-grid button:not(:disabled):hover,.operator-action-grid button:not(:disabled):focus-visible{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 9%, var(--card))}.operator-action-grid button:disabled{cursor:not-allowed;opacity:.56}.operator-action-grid button>svg{color:var(--brand)}.operator-action-grid button>span{gap:2px;min-width:0;display:grid}.operator-action-grid button strong,.operator-action-grid button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operator-action-grid button strong{color:var(--text-1);font-size:12px}.operator-action-grid button small{color:var(--text-3);font-size:10px}.operator-action-grid button em{color:var(--brand);font-size:10px;font-style:normal;font-weight:700}.operator-task-list,.operator-anomaly-list,.operator-safety-list{gap:6px;min-height:0;display:grid;overflow:auto}.operator-task-list article{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:7px 0;display:grid}.operator-task-list article:last-child{border-bottom:0}.operator-task-list article>div{gap:2px;min-width:0;display:grid}.operator-task-list strong,.operator-task-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operator-task-list strong{color:var(--text-1);font-size:12px}.operator-task-list small{color:var(--text-3);font-size:10px}.operator-task-status{background:color-mix(in srgb, var(--warning) 13%, var(--card));color:var(--warning);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.operator-task-status.done{background:color-mix(in srgb, var(--success) 13%, var(--card));color:var(--success)}.operator-task-status.progress{background:color-mix(in srgb, var(--brand) 12%, var(--card));color:var(--brand)}.operator-task-status.neutral{background:var(--surface-2);color:var(--text-3)}.operator-task-list article>button{border:1px solid color-mix(in srgb, var(--brand) 40%, var(--border));min-width:44px;min-height:36px;color:var(--brand);cursor:pointer;background:0 0;border-radius:6px;padding:0 9px;font-size:11px;font-weight:700}.operator-anomaly-list button{border:1px solid var(--border);background:var(--card);text-align:left;cursor:pointer;border-radius:6px;gap:3px;width:100%;padding:8px;display:grid}.operator-anomaly-list button:hover,.operator-anomaly-list button:focus-visible{border-color:var(--warning)}.operator-anomaly-list strong,.operator-anomaly-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operator-anomaly-list strong{color:var(--text-1);font-size:12px}.operator-anomaly-list small{color:var(--text-3);font-size:10px}.operator-anomaly-list span{color:var(--warning);font-size:10px;font-weight:700}.operator-unavailable-state{min-height:0;color:var(--text-3);text-align:center;flex:1;align-content:center;place-items:center;gap:7px;display:grid}.operator-unavailable-state svg{color:var(--warning)}.operator-unavailable-state strong{color:var(--text-2);font-size:13px}.operator-unavailable-state p{max-width:210px;margin:0;font-size:11px;line-height:1.5}.operator-overview-body{flex:auto;gap:12px;min-height:0;display:grid}.operator-count-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.operator-count-grid strong.is-text{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.operator-widget-state{min-height:70px;color:var(--text-3);text-align:center;flex:auto;align-content:center;place-items:center;gap:5px;font-size:12px;line-height:1.5;display:grid}.operator-widget-state strong{color:var(--text-2);font-size:13px}.operator-widget-state.is-error strong{color:var(--danger)}.operator-widget-state span{max-width:38em}.operator-partial-note{color:var(--warning);flex:none;margin:5px 0 0;font-size:11px;line-height:1.45}.operator-task-list{flex:auto;margin-top:2px;padding-right:2px}.operator-task-list article{grid-template-columns:minmax(0,1fr) auto auto;min-height:55px}.operator-task-list article.is-overdue{border-left:3px solid var(--danger);padding-left:8px}.operator-task-main{gap:2px;min-width:0;display:grid}.operator-task-main>span,.operator-anomaly-copy>span{color:var(--brand);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.operator-task-main strong,.operator-task-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operator-task-meta{justify-items:end;gap:4px;min-width:84px;display:grid}.operator-task-meta>small{color:var(--text-3);white-space:nowrap;font-size:10px}.operator-task-status.overdue{background:color-mix(in srgb, var(--danger) 13%, var(--card));color:var(--danger)}.operator-task-list article>button{justify-content:center;align-items:center;gap:2px;min-width:88px;min-height:44px;display:inline-flex}.operator-handover-widget{min-width:0}.operator-handover-summary{gap:5px;margin-top:4px;display:grid}.operator-handover-summary strong{color:var(--text-1);font-size:14px;line-height:1.35}.operator-handover-summary span{color:var(--text-3);font-size:11px;line-height:1.5}.operator-handover-steps{gap:8px;margin:auto 0 10px;padding:0;list-style:none;display:grid}.operator-handover-steps li{color:var(--text-3);align-items:center;gap:7px;font-size:11px;display:flex}.operator-handover-steps li i{border:1px solid var(--border-strong);width:22px;height:22px;color:var(--text-3);border-radius:50%;flex:0 0 22px;place-items:center;font-size:10px;font-style:normal;display:inline-grid}.operator-handover-steps li.done{color:var(--success)}.operator-handover-steps li.done i{border-color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--card));color:var(--success)}.operator-handover-steps li.current{color:var(--text-1);font-weight:700}.operator-handover-steps li.current i{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.operator-primary-action{border:1px solid var(--brand);background:var(--brand);width:100%;min-height:44px;color:var(--on-brand);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.operator-primary-action:hover,.operator-primary-action:focus-visible{filter:brightness(.96)}.operator-safety-disclaimer{border:1px solid color-mix(in srgb, var(--warning) 25%, var(--border));background:color-mix(in srgb, var(--warning) 7%, var(--card));color:var(--text-3);border-radius:5px;align-items:flex-start;gap:6px;padding:7px 8px;font-size:10px;line-height:1.45;display:flex}.operator-safety-disclaimer svg{color:var(--warning);flex:none}.operator-safety-disclaimer strong{color:var(--warning)}.operator-safety-list{flex:auto;overflow:auto}.operator-safety-list article{border-bottom:1px solid var(--border);gap:2px;padding:7px 0;display:grid}.operator-safety-list article:last-child{border-bottom:0}.operator-safety-list article>span{color:var(--brand);font-size:10px}.operator-safety-list article>strong{color:var(--text-1);font-size:12px}.operator-safety-list article>p{color:var(--text-3);margin:0;font-size:10px;line-height:1.45}.operator-anomaly-list{flex:auto;overflow:auto}.operator-anomaly-list article{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.operator-anomaly-list article:last-child{border-bottom:0}.operator-anomaly-list article.is-danger{border-left:3px solid var(--danger);padding-left:8px}.operator-anomaly-list article.is-warning{border-left:3px solid var(--warning);padding-left:8px}.operator-anomaly-list article.is-info{border-left:3px solid var(--brand);padding-left:8px}.operator-anomaly-copy{gap:3px;min-width:0;display:grid}.operator-anomaly-copy strong,.operator-anomaly-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operator-anomaly-copy strong{color:var(--text-1);font-size:12px}.operator-anomaly-copy small{color:var(--text-3);font-size:10px}.operator-anomaly-actions{gap:5px;display:flex}.operator-anomaly-actions button{border-color:var(--border-strong);min-width:76px;min-height:44px;color:var(--text-2);justify-content:center;align-items:center;gap:3px;font-size:10px;width:auto!important;padding:0 7px!important;display:inline-flex!important}.operator-anomaly-actions button.is-analysis{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));color:var(--brand)}.operator-anomaly-actions button:hover,.operator-anomaly-actions button:focus-visible{border-color:var(--brand)}.operator-anomaly-actions button svg{flex:none}.role-function-widget{gap:9px}.role-widget-intro{flex:none;gap:2px;display:grid}.role-widget-intro small{color:var(--brand);letter-spacing:.11em;font-size:9px;font-weight:700}.role-widget-intro p{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;line-height:1.45;overflow:hidden}.role-widget-state{min-height:70px;color:var(--text-3);text-align:center;flex:auto;align-content:center;place-items:center;gap:4px;font-size:11px;display:grid}.role-widget-state strong{color:var(--text-2);font-size:12px}.role-widget-state.is-error strong{color:var(--danger)}.role-widget-state.is-forbidden strong{color:var(--warning)}.role-widget-metrics{flex:none;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:7px;display:grid}.role-widget-metrics>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;gap:1px;min-width:0;padding:8px 9px;display:grid}.role-widget-metrics strong{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.1;overflow:hidden}.role-widget-metrics span,.role-widget-metrics small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.role-widget-metrics .is-danger strong{color:var(--danger)}.role-widget-metrics .is-warning strong{color:var(--warning)}.role-widget-metrics .is-ok strong{color:var(--success)}.role-widget-items{flex:auto;min-height:0;overflow:auto}.role-widget-items article{border-bottom:1px solid var(--border);border-left:3px solid var(--brand);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:6px 0 6px 8px;display:grid}.role-widget-items article:last-child{border-bottom:0}.role-widget-items article.is-danger{border-left-color:var(--danger)}.role-widget-items article.is-warning{border-left-color:var(--warning)}.role-widget-items article>div{gap:2px;min-width:0;display:grid}.role-widget-items article span{color:var(--brand);font-size:9px;font-weight:700}.role-widget-items article strong,.role-widget-items article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-widget-items article strong{color:var(--text-1);font-size:11px}.role-widget-items article small{color:var(--text-3);font-size:9px}.role-widget-items article>button,.role-widget-actions button{border:1px solid var(--border-strong);background:var(--card);min-height:44px;color:var(--text-2);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:3px;padding:0 10px;font-size:10px;font-weight:600;display:inline-flex}.role-widget-items article>button:hover,.role-widget-items article>button:focus-visible,.role-widget-actions button:hover,.role-widget-actions button:focus-visible{border-color:var(--brand);color:var(--brand)}.role-widget-unconnected{border:1px dashed var(--border-strong);background:var(--surface-muted);color:var(--text-3);border-radius:7px;flex:auto;align-items:flex-start;gap:8px;padding:10px;font-size:10px;line-height:1.5;display:flex}.role-widget-unconnected svg{color:var(--warning);flex:none}.role-widget-unconnected span{gap:3px;display:grid}.role-widget-unconnected strong{color:var(--text-2);font-size:11px}.dashboard-grid .role-widget-actions{border-top:1px solid var(--border);justify-content:flex-start;gap:6px;margin-top:auto;padding-top:7px;display:flex;overflow-x:auto}.dashboard-grid .role-widget-actions button{flex:1 1 0;min-width:max-content}.dashboard-grid .role-widget-actions button.primary{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.dashboard-grid .role-widget-actions button.primary:hover,.dashboard-grid .role-widget-actions button.primary:focus-visible{color:var(--on-brand);filter:brightness(.96)}.role-widget-head-actions{flex:none;align-items:center;gap:4px!important;display:inline-flex!important}.role-function-widget>header>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.role-widget-head-actions button{width:32px;height:32px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.role-widget-head-actions button:hover,.role-widget-head-actions button:focus-visible{background:var(--surface-muted);color:var(--brand)}.role-widget-state.is-loading{align-content:center;gap:8px;width:100%;display:grid}.role-widget-state.is-loading i{background:linear-gradient(90deg, var(--surface-muted) 20%, var(--border) 45%, var(--surface-muted) 70%);background-size:220% 100%;border-radius:5px;width:100%;height:14px;animation:1.4s linear infinite role-widget-skeleton;display:block}.role-widget-state.is-loading i:nth-child(2){width:82%}.role-widget-state.is-loading i:nth-child(3){width:64%}@keyframes role-widget-skeleton{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){.role-widget-state.is-loading i{animation:none}}.role-widget-state button{border:1px solid var(--border-strong);background:var(--card);min-height:44px;color:var(--brand);cursor:pointer;border-radius:6px;margin-top:5px;padding:0 14px}.role-widget-summary,.role-widget-progress-list,.role-widget-comparison,.role-widget-stepper,.role-widget-timeline,.role-widget-table,.role-widget-calendar,.role-widget-pareto,.role-widget-bullets,.role-widget-matrix,.role-widget-trend{flex:auto;min-height:0;overflow:auto}.role-widget-summary{align-content:start;gap:8px;display:grid}.role-widget-metrics strong i,.role-widget-progress-list strong i,.role-widget-comparison strong i,.role-widget-table strong i,.role-widget-bullets strong i{color:var(--text-3);font-size:9px;font-style:normal;font-weight:500}.role-widget-narrative{color:var(--text-2);margin:0;font-size:11px;line-height:1.65}.role-widget-evidence{color:var(--text-3);font-size:9px;line-height:1.5}.role-widget-progress-list,.role-widget-comparison,.role-widget-bullets{align-content:start;gap:10px;padding:2px 1px;display:grid}.role-widget-progress-list article,.role-widget-comparison article,.role-widget-bullets article{grid-template-columns:minmax(0,1fr) auto;gap:4px 9px;display:grid}.role-widget-progress-list article>div,.role-widget-bullets article>div{display:contents}.role-widget-progress-list span,.role-widget-comparison span,.role-widget-bullets span{color:var(--text-2);font-size:10px}.role-widget-progress-list strong,.role-widget-comparison strong,.role-widget-bullets strong{color:var(--text-1);font-size:11px}.role-widget-progress-list small,.role-widget-bullets small{color:var(--text-3);grid-column:1/-1;font-size:9px}.role-progress-track,.role-comparison-track,.role-bullet-track{background:var(--surface-muted);border-radius:999px;grid-column:1/-1;width:100%;height:7px;display:block;position:relative;overflow:hidden}.role-progress-track>i,.role-comparison-track>i,.role-bullet-track>i{border-radius:inherit;background:var(--brand);position:absolute;inset:0 auto 0 0}.role-comparison-track>i.is-danger,.role-bullet-track>i.is-danger{background:var(--danger)}.role-comparison-track>i.is-warning,.role-bullet-track>i.is-warning{background:var(--warning)}.role-comparison-track>i.is-ok,.role-bullet-track>i.is-ok{background:var(--success)}.role-bullet-track>b{background:var(--text-1);width:2px;height:11px;position:absolute;top:-2px;transform:translate(-2px)}.role-widget-stepper{grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:0;padding:6px 0;display:grid;overflow:visible}.role-widget-stepper article{text-align:center;justify-items:center;gap:5px;min-width:0;display:grid;position:relative}.role-widget-stepper article:before{content:"";background:var(--border);height:2px;position:absolute;top:12px;left:-50%;right:50%}.role-widget-stepper article:first-child:before{display:none}.role-widget-stepper article>i{z-index:1;border:2px solid var(--border-strong);background:var(--card);width:24px;height:24px;color:var(--text-3);border-radius:50%;place-items:center;font-size:9px;font-style:normal;display:grid;position:relative}.role-widget-stepper article.is-done>i{border-color:var(--success);background:var(--success);color:#fff}.role-widget-stepper article.is-current>i{border-color:var(--brand);color:var(--brand)}.role-widget-stepper article.is-done:before{background:var(--success)}.role-widget-stepper article div{gap:2px;min-width:0;display:grid}.role-widget-stepper strong{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.role-widget-stepper small{color:var(--text-3);font-size:8px}.role-widget-timeline{align-content:start;gap:0;display:grid}.role-widget-timeline article{grid-template-columns:14px minmax(0,1fr);gap:7px;min-height:38px;display:grid;position:relative}.role-widget-timeline article:before{content:"";background:var(--border);width:1px;position:absolute;top:12px;bottom:-4px;left:4px}.role-widget-timeline article:last-child:before{display:none}.role-widget-timeline article>i{z-index:1;border:2px solid var(--brand);background:var(--card);border-radius:50%;width:9px;height:9px;margin-top:4px}.role-widget-timeline article div{gap:2px;display:grid}.role-widget-timeline strong{color:var(--text-1);font-size:10px}.role-widget-timeline small{color:var(--text-3);font-size:9px}.role-widget-table{align-content:start;display:grid}.role-widget-table article{border-bottom:1px solid var(--border);grid-template-columns:minmax(82px,.75fr) minmax(100px,1.5fr) auto;align-items:center;gap:8px;min-height:35px;display:grid}.role-widget-table article>span{color:var(--text-1);font-size:10px;font-weight:600}.role-widget-table article>small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.role-widget-table article>strong{color:var(--text-2);font-size:10px}.role-widget-table article>strong.is-danger{color:var(--danger)}.role-widget-table article>strong.is-warning{color:var(--warning)}.role-widget-table article>strong.is-ok{color:var(--success)}.role-widget-calendar{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;display:grid}.role-widget-calendar article{border:1px solid var(--border);border-left:3px solid var(--brand);background:var(--surface-muted);border-radius:6px;gap:3px;min-width:0;padding:8px;display:grid}.role-widget-calendar article.is-danger{border-left-color:var(--danger)}.role-widget-calendar article.is-warning{border-left-color:var(--warning)}.role-widget-calendar time{color:var(--brand);font-size:9px;font-weight:700}.role-widget-calendar strong{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.role-widget-calendar small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.role-widget-pareto{align-content:start;gap:7px;display:grid}.role-widget-pareto article{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:5px 7px;display:grid}.role-widget-pareto article>b{background:var(--brand-soft);width:18px;height:18px;color:var(--brand);border-radius:4px;place-items:center;font-size:9px;display:grid}.role-widget-pareto article>span:not(.role-comparison-track){color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.role-widget-pareto article>strong{color:var(--text-1);font-size:11px}.role-widget-pareto .role-comparison-track{grid-column:2/-1}.role-widget-matrix{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:7px;display:grid}.role-widget-matrix article{border:1px solid var(--border);background:var(--surface-muted);border-radius:7px;place-items:center;min-height:52px;display:grid}.role-widget-matrix article strong{color:var(--text-1);font-size:18px}.role-widget-matrix article span{color:var(--text-3);font-size:9px}.role-widget-matrix article.is-danger{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 7%, var(--card))}.role-widget-matrix article.is-warning{border-color:color-mix(in srgb, var(--warning) 40%, var(--border));background:color-mix(in srgb, var(--warning) 8%, var(--card))}.role-widget-matrix article.is-info{border-color:color-mix(in srgb, var(--brand) 35%, var(--border));background:var(--brand-soft)}.role-widget-matrix article.is-ok{border-color:color-mix(in srgb, var(--success) 32%, var(--border))}.role-widget-trend{grid-template-rows:minmax(84px,1fr) auto;gap:7px;display:grid;overflow:hidden}.role-widget-trend svg{width:100%;height:100%;min-height:84px;overflow:visible}.role-widget-trend line{stroke:var(--border);stroke-width:.6px;vector-effect:non-scaling-stroke}.role-widget-trend polyline{fill:none;stroke:var(--brand);stroke-width:2px;vector-effect:non-scaling-stroke}.role-widget-trend polyline.series-1{stroke:#7a62b5}.role-widget-trend polyline.series-2{stroke:var(--success)}.role-widget-trend polyline.series-3{stroke:var(--warning)}.role-trend-legend{flex-wrap:wrap;gap:5px 12px;display:flex}.role-trend-legend span{color:var(--text-3);align-items:center;gap:4px;font-size:9px;display:inline-flex}.role-trend-legend i{background:var(--brand);border-radius:2px;width:9px;height:3px}.role-trend-legend .series-1 i{background:#7a62b5}.role-trend-legend .series-2 i{background:var(--success)}.role-trend-legend .series-3 i{background:var(--warning)}.role-widget-unconnected.is-inline{flex:none;padding:6px 8px;font-size:9px}.role-widget-unconnected.is-inline strong{font-size:9px}.settings-display-option{align-items:center}.settings-display-icon{border:1px solid var(--border);background:var(--surface-muted);width:36px;height:36px;color:var(--brand);border-radius:7px;flex:none;place-items:center;display:grid}.settings-display-option:has(input:checked) .settings-display-icon{border-color:var(--brand);background:var(--brand-soft)}.dashboard-density-control{color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.dashboard-density-control select{border:1px solid var(--border-strong);background:var(--card);min-height:34px;color:var(--text-2);border-radius:6px;padding:0 28px 0 9px}.dashboard-page.is-density-comfortable .dashboard-grid{--gs-cell-height:78px}.dashboard-page.is-density-comfortable .dashboard-grid .widget-content{padding:clamp(12px,3.8cqh,20px) clamp(14px,3.4cqw,22px)}.dashboard-page.is-density-compact .dashboard-grid{--gs-cell-height:66px}.dashboard-page.is-density-compact .dashboard-grid .widget-content{padding:clamp(7px,2.5cqh,13px) clamp(9px,2.2cqw,14px)}.dashboard-page.is-density-compact .role-function-widget{gap:5px}.dashboard-page.is-density-compact .role-widget-intro p{display:none}@container widget (width<=350px){.role-widget-intro p{white-space:normal}.role-widget-items article{grid-template-columns:1fr}.role-widget-items article>button{width:100%}.dashboard-grid .widget-content footer.role-widget-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.dashboard-grid .role-widget-actions button{width:100%;min-width:0}.role-widget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.role-widget-stepper{grid-template-columns:1fr;align-content:start;gap:7px}.role-widget-stepper article{text-align:left;grid-template-columns:28px minmax(0,1fr);place-items:center start}.role-widget-stepper article:before{width:2px;height:auto;inset:-8px auto 50% 12px}.role-widget-stepper article div{justify-items:start}.role-widget-calendar{grid-template-columns:1fr}.role-widget-table article{grid-template-columns:minmax(0,1fr) auto;padding:5px 0}.role-widget-table article>small{grid-area:2/1/auto/-1}.role-widget-head-actions button{width:44px;height:44px}.dashboard-density-control{justify-content:space-between;width:100%}.dashboard-density-control select{min-height:44px;font-size:16px}}.dashboard-head{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.dashboard-head h1{color:var(--text-1);margin:8px 0;font-size:30px}.dashboard-head span{color:var(--text-3)}.dashboard-actions{gap:8px;display:flex}.dashboard-actions button{border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--card);color:var(--text-2);cursor:pointer;padding:9px 14px}.dashboard-actions .primary{color:var(--on-brand);background:var(--brand);border-color:var(--brand)}.dashboard-edit-toolbar{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-soft);min-height:48px;color:var(--text-3);align-items:center;gap:10px;margin:0 0 8px;padding:8px 12px;font-size:12px;display:flex}.dashboard-edit-toolbar button{border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--card);color:var(--text-2);cursor:pointer;padding:8px 12px}.dashboard-edit-toolbar .primary-soft{color:var(--brand);background:var(--brand-soft);border-color:var(--brand-soft)}.dashboard-edit-toolbar span{flex:1}.dashboard-edit-toolbar em{color:var(--text-3);font-style:normal}.dashboard-edit-toolbar em.is-limit{color:var(--brand)}.dashboard-grid{--gs-columns:12;--gs-cell-height:72px;--gs-item-margin-top:6px;--gs-item-margin-right:6px;--gs-item-margin-bottom:6px;--gs-item-margin-left:6px;width:100%;min-height:560px;margin-top:10px;display:block;position:relative}.dashboard-grid-item{box-sizing:border-box;min-width:0}.dashboard-grid .dashboard-widget-shell{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--card);height:auto;box-shadow:var(--dash-shadow);flex-direction:column;margin:0;display:flex;position:absolute;inset:0;overflow:hidden;container:widget/size}.dashboard-grid.is-editing .dashboard-widget-shell{border-color:var(--brand)}.dashboard-grid.is-interacting .dashboard-widget-shell{-webkit-user-select:none;user-select:none}.dashboard-grid .widget-content{min-height:0;color:var(--text-2);box-sizing:border-box;flex-direction:column;flex:auto;padding:clamp(10px,3.4cqh,18px) clamp(12px,3cqw,20px);display:flex;overflow:hidden}.dashboard-grid .widget-content header{flex:none;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.dashboard-grid .widget-content header span{color:var(--text-1);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.dashboard-grid .widget-content header span svg{color:var(--brand)}.dashboard-grid .widget-content header small{color:var(--text-3);font-size:11px;font-weight:500}.dashboard-grid .quality-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1.8cqw,12px);margin-top:clamp(6px,4cqh,20px);display:grid}.dashboard-grid .quality-values>div:not(:last-child){border-right:1px solid var(--border);padding-right:10px}.dashboard-grid .quality-values small,.dashboard-grid .quality-values strong,.dashboard-grid .quality-limit{display:block}.dashboard-grid .quality-values small{color:var(--text-3);font-size:11px}.dashboard-grid .quality-values strong{color:var(--text-1);white-space:nowrap;margin-top:clamp(3px,1.6cqh,7px);font-size:clamp(16px,12cqh,28px);font-weight:600}.dashboard-grid .quality-values strong i{color:var(--text-3);font-size:12px;font-style:normal;font-weight:500}.dashboard-grid .quality-limit{color:var(--text-3);white-space:nowrap;margin-top:4px;font-size:11px;font-style:normal}.dashboard-grid .quality-limit.is-warn{color:var(--warning)}.dashboard-grid .quality-limit.is-fault{color:var(--danger)}.dashboard-grid .widget-rows{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:auto;min-height:0;margin:clamp(6px,3cqh,16px) 0 0;padding:0;list-style:none;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000);mask-image:linear-gradient(#000 calc(100% - 14px),#0000)}.dashboard-grid .widget-rows::-webkit-scrollbar{width:6px}.dashboard-grid .widget-rows::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dashboard-grid .widget-rows>li{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:baseline;gap:8px;padding:clamp(3px,1.6cqh,8px) 0;display:flex}.dashboard-grid .widget-rows>li:last-child{border-bottom:0}.dashboard-grid .widget-rows small{color:var(--text-3);font-size:11px}.dashboard-grid .widget-rows strong{color:var(--text-1);white-space:nowrap;font-size:clamp(14px,7.5cqh,20px);font-weight:600}.dashboard-grid .widget-rows strong i,.dashboard-grid .widget-rows span i{color:var(--text-3);font-size:11px;font-style:normal;font-weight:500}.dashboard-grid .widget-rows.is-detail>li{gap:12px;padding:clamp(3px,1.8cqh,9px) 0}.dashboard-grid .widget-rows.is-detail small{font-size:12px}.dashboard-grid .widget-rows.is-detail strong{font-size:clamp(15px,8cqh,22px)}.dashboard-grid .volume-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1.8cqw,12px);margin-top:clamp(6px,4cqh,20px);display:grid}.dashboard-grid .volume-rows>div+div{border-left:1px solid var(--border);padding-left:12px}.dashboard-grid .volume-rows small,.dashboard-grid .volume-rows strong{display:block}.dashboard-grid .volume-rows small{color:var(--text-3);font-size:11px}.dashboard-grid .volume-rows strong{color:var(--text-1);white-space:nowrap;margin-top:clamp(3px,1.6cqh,7px);font-size:clamp(16px,10.5cqh,26px);font-weight:600}.dashboard-grid .volume-rows strong i{color:var(--text-3);font-size:11px;font-style:normal;font-weight:500}.dashboard-grid .widget-empty{color:var(--text-3);text-align:center;margin:auto;font-size:12px;line-height:1.7}.dashboard-grid .widget-figure{flex-direction:column;flex:auto;justify-content:center;min-height:0;margin-top:clamp(4px,2cqh,10px);display:flex}.dashboard-grid .widget-figure>strong{color:var(--text-1);white-space:nowrap;font-size:clamp(24px,15cqh,42px);font-weight:600;line-height:1}.dashboard-grid .widget-figure>strong i{color:var(--text-3);margin-left:4px;font-size:12px;font-style:normal;font-weight:500}.dashboard-grid .widget-figure>small{color:var(--text-3);margin-top:clamp(4px,1.8cqh,9px);font-size:11px;line-height:1.6}.dashboard-grid .widget-status{font-size:11px;font-weight:500}.dashboard-grid .widget-status.is-ok{color:var(--success)}.dashboard-grid .widget-status.is-warn{color:var(--warning)}.dashboard-grid .widget-status.is-fault{color:var(--danger)}.dashboard-grid .widget-status.is-muted{color:var(--text-3)}.dashboard-grid .pending-rows{flex:0 auto;gap:0;min-height:0;margin-top:clamp(6px,2.6cqh,12px);display:grid}.dashboard-grid .pending-rows span{color:var(--text-2);padding:clamp(4px,1.7cqh,8px) 0;font-size:12px;display:block}.dashboard-grid .pending-rows span+span{border-top:1px solid var(--border)}.dashboard-grid .pending-rows b{color:var(--text-1);font-weight:600;display:block}.dashboard-grid .pending-rows small{color:var(--text-3);margin-top:3px;font-size:11px;line-height:1.5;display:block}.dashboard-grid .attendance-rows i.warn{background:var(--warning)}.dashboard-grid .attendance-rows i.ok{background:var(--success)}.dashboard-grid .attendance-rows small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-grid .attendance-rows b.is-warn{color:var(--warning)}.dashboard-grid .widget-content footer{border-top:1px solid var(--border);color:var(--text-3);justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding-top:clamp(5px,1.5cqh,10px);font-size:11px;display:flex}.dashboard-widget-shell:has(>.widget-card-footer) .widget-content footer{border-top:0}.dashboard-grid .widget-content footer span,.dashboard-grid .widget-content footer b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-grid .attendance-widget header>strong,.dashboard-grid .equipment-widget header>strong{color:var(--text-1);font-size:clamp(15px,6.5cqh,26px);font-weight:600}.dashboard-grid .attendance-rows,.dashboard-grid .equipment-rows{flex:0 auto;gap:0;min-height:0;margin-top:clamp(6px,2.6cqh,12px);display:grid}.dashboard-grid .attendance-rows span,.dashboard-grid .equipment-rows span{color:var(--text-2);align-items:center;gap:7px;min-width:0;padding:clamp(2px,1.3cqh,6px) 0;font-size:12px;display:flex}.dashboard-grid .attendance-rows span+span,.dashboard-grid .equipment-rows span+span{border-top:1px solid var(--border)}.dashboard-grid .attendance-rows i,.dashboard-grid .equipment-rows i{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px}.dashboard-grid .equipment-rows i.ok{background:var(--success)}.dashboard-grid .equipment-rows i.warn{background:var(--warning)}.dashboard-grid .equipment-rows i.fault{background:var(--danger)}.dashboard-grid .attendance-rows b,.dashboard-grid .equipment-rows b{color:var(--success);margin-left:auto;font-size:11px;font-weight:500}.dashboard-grid .equipment-rows span:has(i.warn) b{color:var(--warning)}.dashboard-grid .equipment-rows span:has(i.fault) b{color:var(--danger)}.dashboard-grid .simple-widget header>strong{color:var(--text-1);margin-top:clamp(8px,3cqh,16px);font-size:clamp(18px,12cqh,30px);font-weight:600;display:block}.dashboard-grid .simple-widget header>strong i{color:var(--text-3);font-size:11px;font-style:normal}.dashboard-grid .simple-widget p,.dashboard-grid .wide-widget p{color:var(--text-2);margin:12px 0;font-size:13px;line-height:1.7}@container widget (height<=330px){.dashboard-grid .attendance-rows span,.dashboard-grid .equipment-rows span{padding:1px 0;font-size:11px}.dashboard-grid .pending-rows span{padding:3px 0}.dashboard-grid .pending-rows small{margin-top:1px;font-size:10px;line-height:1.35}.dashboard-grid .widget-rows{margin-top:6px}.dashboard-grid .widget-rows.is-detail>li{padding:3px 0}.dashboard-grid .widget-rows.is-detail small{font-size:11px;line-height:1.35}.dashboard-grid .widget-rows.is-detail strong{font-size:13px}.dashboard-grid .widget-empty{font-size:11px;line-height:1.5}}@container widget (height>=480px){.dashboard-grid .quality-values strong,.dashboard-grid .volume-rows strong{font-size:30px}.dashboard-grid .attendance-rows span,.dashboard-grid .equipment-rows span{padding:8px 0;font-size:13px}}.dashboard-grid .widget-toolbar{z-index:4;height:34px;color:var(--text-2);background:var(--surface-soft);border-bottom:1px solid var(--border);touch-action:auto;cursor:default;align-items:center;gap:6px;padding:0 7px;display:flex;position:absolute;top:0;left:0;right:0}.dashboard-grid.is-editing .widget-toolbar{background:var(--brand-soft)}.dashboard-grid.is-editing .widget-content{padding-top:38px}.dashboard-page.is-board-single-row.is-board-editing .widget-content>header{display:none}.dashboard-grid .widget-toolbar strong{font-size:12px;font-weight:600}.dashboard-grid .widget-toolbar-spacer{flex:1}.dashboard-grid .widget-toolbar button{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.dashboard-grid .widget-toolbar button:hover{color:var(--brand);background:var(--brand-soft)}.dashboard-grid .widget-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.dashboard-grid .widget-drag-handle:active{cursor:grabbing}.dashboard-grid.is-interactive .widget-drag-handle{pointer-events:auto;z-index:10;position:relative}.dashboard-grid .mobile-order-controls{flex:none;gap:2px;display:none}.dashboard-grid .widget-type-dot,.widget-source-dot{background:var(--brand);border-radius:50%;flex:none;width:7px;height:7px}.widget-card-footer{border-top:1px solid var(--border);min-width:0;color:var(--text-3);flex:none;justify-content:space-between;align-items:center;gap:5px;padding:clamp(5px,1.6cqh,10px) clamp(12px,3cqw,20px) clamp(7px,2.1cqh,13px);font-size:11px;display:flex}.widget-card-footer>span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.widget-card-footer .widget-source-idle{color:var(--text-3)}.widget-card-footer button{color:var(--brand);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:2px 0;font-size:11px;display:inline-flex}.dashboard-grid .widget-resize-handle{pointer-events:none;display:none!important}.dashboard-grid.is-editing .ui-resizable-se{cursor:se-resize;z-index:8;background:0 0!important;width:16px!important;height:16px!important;display:block!important;bottom:8px!important;right:8px!important}.dashboard-grid.is-editing .ui-resizable-se:after{content:"";border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);width:9px;height:9px;position:absolute;bottom:0;right:0}.dashboard-grid:not(.is-editing) .ui-resizable-se,.dashboard-page.is-board-single-row .dashboard-grid.is-editing .ui-resizable-se{display:none!important}.widget-menu{z-index:calc(var(--z-overlay) + 1);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--shadow-pop);gap:4px;padding:8px;display:grid;position:fixed;top:120px;right:24px}.widget-menu button{background:var(--card);text-align:left;color:var(--text-1);cursor:pointer;border:0;justify-content:space-between;gap:20px;padding:9px 16px;display:flex}.widget-menu button:hover{background:var(--surface-muted)}.widget-menu button span{color:var(--text-3);font-size:11px}.widget-menu .danger{color:var(--danger)}.widget-menu button:disabled{cursor:not-allowed;opacity:.5}.widget-menu button:disabled:hover{background:var(--card)}.dashboard-page .overlay,.settings-backdrop{z-index:var(--z-overlay);background:var(--overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.dashboard-page .drawer,.settings-panel{background:var(--card);flex-direction:column;width:min(450px,100%);height:100%;display:flex;box-shadow:-12px 0 60px #1f2d3d1f}.dashboard-page .drawer>header,.settings-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px;display:flex}.dashboard-page .drawer h2,.settings-panel h3{color:var(--text-1);margin:4px 0;font-size:20px}.dashboard-page .drawer header button,.settings-panel header button{width:30px;height:30px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:5px}.dashboard-page .drawer-limit{color:var(--text-3);margin:0;padding:14px 22px 0;font-size:12px;line-height:1.6}.dashboard-page .drawer-limit.is-full{color:#8a6116}.dashboard-page .drawer-body,.settings-body{padding:20px;overflow:auto}.dashboard-page .drawer-body{align-content:start;gap:10px;margin-top:20px;display:grid}.dashboard-page .library-item{border:1px solid var(--border);border-radius:var(--radius-s);background:var(--card);text-align:left;color:var(--text-1);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.dashboard-page .library-item>span:last-child{margin-left:auto}.dashboard-page .library-item b{margin-bottom:3px;display:block}.dashboard-page .library-item small{color:var(--text-3);display:block}.dashboard-page .library-item:disabled{opacity:.45;cursor:not-allowed}.library-group{margin-top:22px}.library-group h3{color:var(--text-3);font-size:11px;font-weight:500}.type-icon{border-radius:var(--radius-s);background:var(--brand-soft);width:30px;height:30px;color:var(--brand);place-items:center;display:grid}.library-add{color:var(--brand);font-size:18px}.settings-body fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0 0 22px;padding:0;display:grid}.settings-body legend{color:var(--text-2);grid-column:1/-1;margin-bottom:8px;font-size:12px;font-weight:600}.settings-body label{min-height:30px;color:var(--text-2);align-items:center;gap:7px;font-size:12px;display:flex}.settings-body input{opacity:0;width:1px;height:1px;position:absolute}.settings-body .settings-choice{cursor:pointer;padding-left:26px;line-height:1.35;position:relative}.settings-body .settings-choice:before{content:"";border:1px solid var(--border-strong);background:var(--card);border-radius:4px;width:16px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.settings-body .settings-choice:has(input[type=radio]):before{border-radius:50%}.settings-body .settings-choice:has(input:checked):before{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 3px var(--card)}.settings-body .settings-choice:has(input[type=radio]:checked):after{content:"";background:var(--brand);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.settings-body .settings-fieldset-stack{grid-template-columns:minmax(0,1fr)}.settings-body .settings-style-option{min-height:44px}.settings-body .settings-style-preview{border:1px solid var(--border-strong);background:var(--surface-muted);border-radius:4px;flex:none;gap:2px;width:34px;height:24px;padding:3px;display:grid}.settings-body .settings-style-preview i{background:var(--brand);opacity:.5;border-radius:1px;min-width:0;display:block}.settings-body .settings-style-preview.is-compact{grid-template-rows:repeat(3,minmax(0,1fr))}.settings-body .settings-style-preview.is-standard{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-body .settings-style-preview.is-wide{grid-template-rows:repeat(4,minmax(0,1fr))}.settings-body .settings-style-text{flex-direction:column;gap:1px;min-width:0;display:flex}.settings-body .settings-style-text b{color:var(--text-1);font-size:12px;font-weight:600}.settings-body .settings-style-text small{color:var(--text-3);font-size:11px}.settings-body .settings-style-preview.is-auto{grid-template-rows:repeat(2,minmax(0,1fr))}.settings-body .settings-style-preview.is-auto i{background:var(--text-3);opacity:.4}.settings-body .settings-size-row{align-items:center;gap:10px;min-height:30px;display:flex}.settings-body .settings-size-label{color:var(--text-3);flex:0 0 34px;font-size:12px}.settings-body .settings-size-options{flex-wrap:wrap;gap:14px;display:flex}.settings-body .settings-size-stepper{align-items:center;gap:4px;display:inline-flex}.settings-body .settings-size-stepper button{border:1px solid var(--border-strong);background:var(--card);width:26px;height:26px;color:var(--text-1);cursor:pointer;border-radius:4px;padding:0;font-size:14px;line-height:1}.settings-body .settings-size-stepper button:disabled{opacity:.4;cursor:not-allowed}.settings-body .settings-size-stepper b{min-width:20px;color:var(--text-1);text-align:center;font-size:13px}.settings-body .settings-size-locked{min-height:30px;color:var(--text-3);align-items:baseline;gap:10px;margin:0;font-size:12px;line-height:1.6;display:flex}.settings-body .settings-size-locked b{color:var(--text-3);flex:0 0 34px;font-size:12px;font-weight:500}.settings-panel>footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:auto;padding:16px 20px;display:flex}.settings-panel>footer button{border-radius:var(--radius-s);min-height:34px;color:var(--text-2);background:var(--surface-muted);border:0;padding:0 14px;font-size:12px}.settings-panel>footer button.primary{color:var(--on-brand);background:var(--brand)}@media (width<=768px){.dashboard-page{padding:22px 15px}.dashboard-head{flex-direction:column;align-items:flex-start;gap:14px}.dashboard-head h1{font-size:26px}.dashboard-actions{flex-wrap:wrap;width:100%}.dashboard-actions button{flex:1}.dashboard-edit-toolbar{flex-wrap:wrap;align-items:center}.dashboard-edit-toolbar button{min-height:44px}.dashboard-edit-toolbar>span,.dashboard-edit-toolbar>em{flex:1 0 100%}.dashboard-grid{min-height:0}.operator-workspace-head{gap:6px;padding:0 2px 12px;display:grid}.operator-workspace-head h1{font-size:20px}.operator-workspace-head>strong{white-space:normal}.dashboard-page.is-operator-workspace{padding-bottom:calc(82px + env(safe-area-inset-bottom))}body.vue-app:has(.dashboard-page.is-operator-workspace) .assistant-widget:not(.is-open){top:calc(6px + env(safe-area-inset-top));bottom:auto;right:8px}body.vue-app:has(.dashboard-page.is-operator-workspace) .visual-workspace-toggle:not(.is-open){top:calc(5px + env(safe-area-inset-top));width:44px;height:44px;bottom:auto;right:8px}.dashboard-page.is-operator-workspace .dashboard-grid{overflow-x:clip}.operator-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-count-grid div{min-height:52px}.operator-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.operator-action-grid button{text-align:center;flex-direction:column;justify-content:center;gap:4px;min-height:54px;padding:6px 3px;display:flex}.operator-action-grid button>span{width:100%;display:block}.operator-action-grid button small,.operator-action-grid button em{display:none}.operator-action-grid button strong{font-size:11px;display:block}.operator-task-list article{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0}.operator-task-meta{justify-items:end;min-width:78px}.operator-task-list article>button{grid-column:1/-1;width:100%;min-height:44px}.operator-anomaly-list article{grid-template-columns:1fr;align-items:stretch}.operator-anomaly-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.operator-anomaly-actions button{min-height:44px;width:100%!important}.operator-handover-steps{margin-top:10px}.role-widget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.role-widget-items article{grid-template-columns:minmax(0,1fr) auto}.role-widget-intro p,.role-widget-unconnected{font-size:12px}.role-widget-unconnected strong,.role-widget-items article strong{font-size:13px}.role-widget-metrics span,.role-widget-metrics small,.role-widget-items article small,.role-widget-actions button{font-size:12px}.dashboard-grid .widget-content footer.role-widget-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.dashboard-grid .role-widget-actions button{width:100%;min-width:0}.dashboard-grid .mobile-order-controls{flex:none;display:flex}.dashboard-page .overlay,.settings-backdrop{align-items:flex-end}.dashboard-page .drawer,.settings-panel{border-radius:var(--radius-l) var(--radius-l) 0 0;width:100%;height:88dvh}}body.vue-app .vue-workspace .record-query-page{align-content:start;gap:16px;width:100%;min-width:0;display:grid}body.vue-app .vue-workspace .record-query-page>:is(.inspection-record-metrics,.testing-record-metrics){margin:0}body.vue-app .vue-workspace .record-query-page>:is(.panel,.inspection-record-layout,.handover-record-layout){width:100%;min-width:0;margin-inline:0}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters){flex-wrap:nowrap;align-items:flex-end;width:100%;min-width:0;margin:0;display:flex;gap:12px!important}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>label{min-width:0;color:var(--ui-text-secondary);flex:0 0 148px;gap:5px;font-size:12px;font-weight:600;line-height:1.2;display:grid}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>label>span{color:inherit;font-size:inherit}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters) :is(input,select){width:100%;height:34px;min-height:34px;padding:0 9px}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>.btn{white-space:nowrap;flex:none;height:34px;min-height:34px;padding:0 14px}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>.record-filter-quick{border-color:var(--ui-border-strong)!important;color:var(--ui-text-secondary)!important;background:0 0!important}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>.record-filter-action{min-width:112px}body.vue-app .vue-workspace .record-filter-panel{padding:16px 20px!important}body.vue-app .vue-workspace .record-filter-panel .record-filter-bar,body.vue-app .vue-workspace .record-filter-panel .handover-filter-bar,body.vue-app .vue-workspace .record-filter-panel .equipment-record-filters,body.vue-app .vue-workspace .record-filter-panel .ledger-vue-filters{padding:0}@media (width<=960px){body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters){flex-wrap:wrap}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>label{flex:148px}}@media (width<=560px){body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>label{flex-basis:calc(50% - 6px)}body.vue-app .vue-workspace :is(.record-filter-bar,.handover-filter-bar,.equipment-record-filters,.ledger-vue-filters)>.btn{flex:auto}}.field-operations-page{gap:16px;min-width:0;padding:22px;display:grid}.field-operation-tabs{background:#f5f9fb;border:1px solid #dce8ee;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:6px;display:grid}.field-operation-tabs button{color:#627d8d;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;min-width:0;min-height:64px;padding:10px 13px;display:flex}.field-operation-tabs button>svg{flex:none}.field-operation-tabs button span{min-width:0}.field-operation-tabs strong,.field-operation-tabs small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.field-operation-tabs strong{color:#244d63;font-size:14px}.field-operation-tabs small{color:#8599a5;margin-top:3px;font-size:11px}.field-operation-tabs button.active{color:#087d9a;background:#fff;border-color:#8bc9d7;box-shadow:0 5px 16px #1d576f1a}.field-operation-tabs button.active strong{color:#08718d}.field-operation-notice{color:#20734d;background:#effbf5;border:1px solid #a8dfc6;border-radius:10px;align-items:center;gap:9px;padding:11px 14px;font-size:13px;display:flex}.field-operation-notice span{flex:1}.field-operation-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px}.field-operation-panel{background:#fff;border:1px solid #dce8ee;border-radius:14px;gap:16px;min-width:0;padding:20px;display:grid;box-shadow:0 8px 28px #1f4a5f0f}.field-operation-panel__head{border-bottom:1px solid #e7eff3;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.field-operation-panel__head>div>span{color:#0b8dac;letter-spacing:.14em;font-size:10px;font-weight:800}.field-operation-panel__head h2{color:#173f56;margin:5px 0 0;font-size:23px}.field-operation-panel__head p{color:#708794;max-width:760px;margin:6px 0 0;font-size:13px;line-height:1.65}.field-operation-state{color:#69828f;text-align:center;background:#f8fbfc;border:1px dashed #cbdce4;border-radius:12px;place-content:center;justify-items:center;gap:10px;min-height:180px;padding:28px;display:grid}.field-operation-state strong{color:#315a6e;font-size:16px}.field-operation-state p{margin:0;line-height:1.7}.field-operation-state.is-error{color:#b33c32;background:#fff8f7;border-color:#f1c4c0}.field-assignment-bar{background:#f3fafc;border:1px solid #cfe4eb;border-radius:11px;justify-content:space-between;align-items:end;gap:16px;padding:14px;display:flex}.field-assignment-bar label{color:#4a6a7a;gap:6px;min-width:min(420px,100%);font-size:12px;font-weight:700;display:grid}.field-assignment-bar select{color:#24495d;background:#fff;border:1px solid #bfd6df;border-radius:8px;min-height:44px;padding:0 12px}.field-assignment-bar small{color:#78909c;font-size:12px}.field-operation-form{gap:16px;display:grid}.field-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.field-meta-grid label,.field-note-grid label{color:#5c7583;gap:6px;font-size:12px;font-weight:700;display:grid}.field-meta-grid input{color:#39596a;background:#f8fafb;border:1px solid #d4e1e7;border-radius:8px;min-width:0;min-height:42px;padding:0 11px}.inspection-item-list,.equipment-submit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.inspection-submit-card,.equipment-submit-card{background:linear-gradient(145deg,#fff,#f8fbfc);border:1px solid #dce9ef;border-radius:12px;align-content:start;gap:13px;min-width:0;padding:16px;display:grid}.inspection-submit-card>header,.equipment-submit-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inspection-submit-card>header>div{grid-template-columns:30px minmax(0,1fr);gap:2px 8px;min-width:0;display:grid}.inspection-submit-card>header em{color:#23758a;background:#e8f4f7;border-radius:8px;grid-row:1/3;place-items:center;width:30px;height:30px;font-size:11px;font-style:normal;font-weight:800;display:grid}.inspection-submit-card>header strong,.equipment-submit-card>header strong{color:#234d62;min-width:0;font-size:15px}.inspection-submit-card>header small,.equipment-submit-card>header small{color:#8498a3;font-size:11px}.inspection-submit-card>header>span,.equipment-submit-card>header>span{color:#26734f;background:#e7f7ef;border-radius:999px;flex:none;padding:4px 9px;font-size:11px;font-weight:700}.inspection-submit-card>header>span.abnormal,.equipment-submit-card>header>span.is-due{color:#a36000;background:#fff1d6}.equipment-submit-card>header>span.is-later{color:#738893;background:#edf2f5}.inspection-subgroup-list{gap:8px;display:grid}.inspection-subgroup-list label,.inspection-result-field,.inspection-reading-field,.inspection-photo-field,.field-block-label{color:#56717f;gap:6px;font-size:12px;font-weight:700;display:grid}.inspection-subgroup-list label{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);align-items:center}.inspection-submit-card select,.inspection-submit-card input,.equipment-submit-card input,.field-block-label :is(input,textarea),.handover-field-groups textarea,.worker-report-form textarea{box-sizing:border-box;color:#274a5b;width:100%;min-width:0;min-height:42px;font:inherit;background:#fff;border:1px solid #cfdee5;border-radius:8px;outline:0;padding:9px 11px}.inspection-submit-card :is(select,input):focus,.field-block-label :is(input,textarea):focus,.handover-field-groups textarea:focus,.worker-report-form textarea:focus{border-color:#4aa3b8;box-shadow:0 0 0 3px #3397ae21}.inspection-reading-field>div{align-items:center;gap:8px;display:flex}.inspection-reading-field i{color:#718a97;flex:none;font-style:normal}.inspection-photo-field input,.field-block-label input[type=file]{padding:7px}.inspection-photo-field small,.field-block-label small{color:#8a9ba4;font-weight:400}.field-note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-note-grid textarea{box-sizing:border-box;color:#294b5c;width:100%;min-height:86px;font:inherit;resize:vertical;border:1px solid #cfdee5;border-radius:9px;padding:10px 12px}.field-submit-bar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafdfef5;border:1px solid #c8e0e7;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:sticky;bottom:10px;box-shadow:0 8px 28px #1f4b601f}.field-submit-bar strong,.field-submit-bar small{display:block}.field-submit-bar strong{color:#31576a;font-size:13px}.field-submit-bar small{color:#8297a1;margin-top:3px;font-size:11px}.field-form-error{color:#b33d31;background:#fff5f3;border:1px solid #efc3bc;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.6}.equipment-submit-card>p{color:#657e8b;margin:0;font-size:13px;line-height:1.6}.field-segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-segmented button{color:#4b6877;cursor:pointer;background:#fff;border:1px solid #cfe0e7;border-radius:8px;min-height:42px}.field-segmented button.active{color:#217249;background:#eaf9f1;border-color:#70c19b;font-weight:700}.field-segmented button.danger.active{color:#b33f32;background:#fff0ed;border-color:#ec9b8f}.field-card-submit,.worker-order-primary{width:100%;min-height:46px}.field-card-lock{color:#718893;background:#f1f5f7;border-radius:8px;padding:12px;font-size:12px;line-height:1.6}.handover-pending-section{background:#fffaf0;border:1px solid #f1ca82;border-radius:12px;gap:10px;padding:14px;display:grid}.handover-pending-section>header,.handover-pending-card{justify-content:space-between;align-items:center;gap:14px;display:flex}.handover-pending-section>header strong,.handover-pending-section>header small{display:block}.handover-pending-section>header strong{color:#7d5208}.handover-pending-section>header small{color:#9a7b45;margin-top:3px;font-size:11px}.handover-pending-section>header>span{color:#fff;background:#e4971f;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.handover-pending-card{background:#fff;border-radius:9px;padding:12px}.handover-pending-card>div{min-width:0}.handover-pending-card strong,.handover-pending-card small{display:block}.handover-pending-card small{color:#8e856f;margin-top:3px;font-size:11px}.handover-pending-card p{color:#665d4b;text-overflow:ellipsis;white-space:nowrap;max-width:760px;margin:7px 0 0;font-size:12px;overflow:hidden}.handover-field-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.handover-field-groups>section{background:#fbfdfe;border:1px solid #dce8ed;border-radius:11px;align-content:start;gap:12px;padding:15px;display:grid}.handover-field-groups>section>header{border-bottom:1px solid #e4edf1;justify-content:space-between;padding-bottom:9px;display:flex}.handover-field-groups>section>header strong{color:#31596c}.handover-field-groups>section>header small{color:#8da0a9}.worker-order-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px;min-width:0;display:grid}.worker-order-list{align-content:start;gap:8px;max-height:720px;display:grid;overflow:auto}.worker-order-list>button{text-align:left;cursor:pointer;background:#fbfdfe;border:1px solid #dce7ec;border-radius:10px;gap:8px;padding:13px;display:grid}.worker-order-list>button.active{background:#f0fafc;border-color:#76bdcf;box-shadow:0 4px 14px #226f8917}.worker-order-list>button>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.worker-order-list i,.worker-order-heading>div>span{color:#6c828d;background:#eef3f5;border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:700}.worker-order-list i.is-pending,.worker-order-heading span.is-pending{color:#9a5b00;background:#fff0d5}.worker-order-list i.is-progress,.worker-order-heading span.is-progress{color:#087594;background:#e5f5fb}.worker-order-list i.is-review,.worker-order-heading span.is-review{color:#6651a8;background:#eeeafa}.worker-order-list i.is-done,.worker-order-heading span.is-done{color:#26734e;background:#e8f7ef}.worker-order-list em{color:#8b9ca5;font-size:10px;font-style:normal}.worker-order-list strong{color:#31566a;font-size:13px}.worker-order-list small{color:#8396a0;font-size:11px}.worker-order-detail{align-content:start;gap:14px;min-width:0;display:grid}.worker-order-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.worker-order-heading h3{color:#244d62;margin:8px 0 0;font-size:21px}.worker-order-heading p{color:#8297a1;margin:5px 0 0;font-size:12px}.worker-order-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.worker-order-meta>div{background:#f3f8fa;border-radius:9px;padding:11px}.worker-order-meta span,.worker-order-meta strong{display:block}.worker-order-meta span{color:#8297a2;font-size:10px}.worker-order-meta strong{overflow-wrap:anywhere;color:#315668;margin-top:4px;font-size:12px}.worker-order-block,.worker-report-form{background:#fbfdfe;border:1px solid #dce8ed;border-radius:10px;gap:9px;padding:14px;display:grid}.worker-order-block h4,.worker-report-form h4{color:#31576a;margin:0;font-size:14px}.worker-order-block p{color:#607a87;margin:0;font-size:13px;line-height:1.7}.worker-assignee-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.worker-assignee-list>div{background:#fff;border-radius:7px;justify-content:space-between;gap:8px;padding:8px;display:flex}.worker-assignee-list strong,.worker-assignee-list span{font-size:11px}.worker-assignee-list strong{color:#355b6e}.worker-assignee-list span{color:#7b919c}.worker-report-record{background:#fff;border-radius:8px;gap:5px;padding:10px;display:grid}.worker-report-record strong{color:#3b6173;font-size:11px}.worker-report-record small,.worker-report-record em{color:#78909c;font-size:11px;font-style:normal}.field-muted{color:#8a9ca5!important}@media (width<=920px){.field-operations-page{padding:16px 14px 96px}.field-operation-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-item-list,.equipment-submit-list,.handover-field-groups,.worker-order-layout{grid-template-columns:1fr}.worker-order-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.field-submit-bar{bottom:calc(10px + env(safe-area-inset-bottom))}}@media (width<=600px){.field-operations-page{padding:12px 10px 104px}.field-operation-panel{border-radius:11px;padding:14px}.field-operation-panel__head{display:grid}.field-operation-tabs{gap:6px;padding:5px}.field-operation-tabs button{min-height:58px;padding:8px}.field-operation-tabs strong{font-size:13px}.field-operation-tabs small{font-size:10px}.field-assignment-bar{display:grid}.field-assignment-bar label{min-width:0}.field-meta-grid,.field-note-grid,.worker-order-meta,.inspection-subgroup-list label{grid-template-columns:1fr}.field-submit-bar{margin:0 -4px;padding:10px}.field-submit-bar .btn{min-width:148px}.handover-pending-card{flex-direction:column;align-items:stretch}.handover-pending-card p{white-space:normal}.worker-order-list{grid-template-columns:1fr}.worker-order-heading{display:grid}.worker-order-heading>.btn{justify-self:start}.worker-assignee-list{grid-template-columns:1fr}.field-operation-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}.field-operation-panel button{min-height:44px}}html,body,#app{max-width:100%}@media (width<=920px){html,body,#app,body.vue-app .shell.vue-shell,body.vue-app .vue-workspace,body.vue-app .route-viewport{width:100%;max-width:100%;overflow-x:clip}body.vue-app .desktop-mobile-bar{box-sizing:border-box;min-height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-right:max(12px, env(safe-area-inset-right));padding-left:max(12px, env(safe-area-inset-left))}body.vue-app .desktop-mobile-menu-button,body.vue-app .desktop-mobile-sidebar-head button,body.vue-app .desktop-sidebar-expand-button,body.vue-app .modal-close,body.vue-app .icon-btn{min-width:44px;min-height:44px}body.vue-app .desktop-mobile-bar-copy{min-width:0}body.vue-app .desktop-mobile-bar-copy :is(strong,span){text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}body.vue-app .vue-workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px!important;font-size:16px!important}body.vue-app .vue-workspace :is(.btn,.link-btn,.table-action,.action,button),body.vue-app .sidebar button,body.vue-app .sidebar a,body.vue-app .dashboard-edit-button{min-width:44px!important;min-height:44px!important}body.vue-app .dashboard-edit-button{width:44px!important;height:44px!important}body.vue-app :is(.modal-backdrop,.assistant-modal-backdrop,.work-order-modal-backdrop){align-items:end;padding:0}body.vue-app :is(.modal-card,.assistant-modal,.work-order-modal,.iot-vue-modal){width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);border-radius:12px 12px 0 0;margin:auto 0 0}body.vue-app .vue-workspace :is(.inspection-record-metrics,.testing-record-metrics,.handover-record-metrics,.equipment-record-metrics,.metrics){grid-template-columns:repeat(2,minmax(0,1fr))}body.vue-app .vue-workspace :is(.inspection-record-metrics,.testing-record-metrics,.handover-record-metrics,.equipment-record-metrics,.metrics)>*{min-width:0}}@media (width<=600px){body.vue-app .vue-workspace .route-viewport>:not(.qa-assistant-page):not(.cockpit-standalone){padding:14px 12px}body.vue-app .page-header,body.vue-app .vue-workspace .panel-head{flex-direction:column;align-items:stretch}body.vue-app .page-header__actions,body.vue-app .vue-workspace .panel-head>:is(form,.button-row,[class$=-actions]){justify-content:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){body.vue-app *,body.vue-app :before,body.vue-app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
