.role-layout[data-v-84609ff1]{flex:1;gap:0;width:100%;min-width:0;overflow:hidden;flex-direction:row!important}.role-sidebar[data-v-84609ff1]{background:#fff;border-right:1px solid #e5e6eb;flex-direction:column;flex-shrink:0;width:250px;min-width:220px;max-width:300px;display:flex;overflow:hidden}.sidebar-header[data-v-84609ff1]{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;padding:12px 12px 8px;display:flex}.sidebar-title[data-v-84609ff1]{color:#1d2129;font-size:14px;font-weight:600}.sidebar-actions[data-v-84609ff1]{gap:4px;display:flex}.sidebar-search[data-v-84609ff1]{padding:8px 10px}.role-list[data-v-84609ff1]{flex:1;overflow-y:auto}.role-item[data-v-84609ff1]{cursor:pointer;border-bottom:1px solid #f0f2f5;padding:10px 12px;transition:all .18s}.role-item[data-v-84609ff1]:hover{background:#f0f4ff}.role-item.active[data-v-84609ff1]{background:#e6edff;border-left:3px solid #4f6ef7;padding-left:9px}.role-item-main[data-v-84609ff1]{justify-content:space-between;align-items:center;gap:6px;display:flex}.role-name[data-v-84609ff1]{color:#1d2129;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.role-meta[data-v-84609ff1]{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.role-code[data-v-84609ff1]{color:#86909c;font-size:11px}.role-user-count[data-v-84609ff1]{color:#4f6ef7;font-size:11px;font-weight:500}.empty-tip[data-v-84609ff1]{text-align:center;color:#c0c4cc;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:13px;display:flex}.sidebar-loading[data-v-84609ff1]{justify-content:center;padding:20px;display:flex}.role-detail[data-v-84609ff1]{background:#fff;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.role-placeholder[data-v-84609ff1]{color:#86909c;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.main-tabs[data-v-84609ff1]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.main-tabs[data-v-84609ff1] .n-tabs-nav{flex-shrink:0;padding:0 16px}.main-tabs[data-v-84609ff1] .n-tabs-tab-pane-wrapper{flex:1;min-height:0;display:flex}.main-tabs[data-v-84609ff1] .n-tab-pane{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.tab-content[data-v-84609ff1]{flex-direction:column;height:100%;display:flex;overflow:hidden}.tab-action-bar[data-v-84609ff1]{border-bottom:1px solid #f0f2f5;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.table-wrapper[data-v-84609ff1]{flex:1;min-height:0;overflow:hidden}.pagination-bar[data-v-84609ff1]{border-top:1px solid #f0f2f5;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.perm-sub-tabs[data-v-84609ff1]{flex-direction:column;flex:1;min-height:0;display:flex}.perm-sub-tabs[data-v-84609ff1] .n-tabs-nav{flex-shrink:0;padding:8px 16px 0}.perm-sub-tabs[data-v-84609ff1] .n-tab-pane{flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.perm-content[data-v-84609ff1]{flex-direction:column;height:100%;display:flex;overflow:hidden}.perm-action-bar[data-v-84609ff1]{border-bottom:1px solid #f0f2f5;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.perm-stats[data-v-84609ff1]{align-items:center;gap:10px;display:flex}.perm-count[data-v-84609ff1]{color:#4e5969;white-space:nowrap;font-size:13px;font-weight:500}.perm-bar-gap[data-v-84609ff1]{flex:1}.perm-modules[data-v-84609ff1]{flex:1;padding:12px 16px;overflow-y:auto}.perm-menu-section[data-v-84609ff1]{margin-bottom:16px}.perm-menu-head[data-v-84609ff1]{border-bottom:2px solid #e8edf5;align-items:center;gap:8px;margin-bottom:8px;padding:6px 0 8px;display:flex}.perm-menu-label[data-v-84609ff1]{color:#1d2129;font-size:14px;font-weight:600}.perm-menu-meta[data-v-84609ff1]{color:#86909c;margin-left:auto;font-size:11px}.perm-card-grid[data-v-84609ff1]{flex-direction:column;gap:4px;display:flex}.perm-group-bar[data-v-84609ff1]{cursor:pointer;background:#f8f9fc;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;transition:all .15s;display:flex}.perm-group-bar[data-v-84609ff1]:first-child{margin-top:0}.perm-group-bar[data-v-84609ff1]:hover{border-color:#b8c5e0}.perm-group-bar--on[data-v-84609ff1]{background:#f0faf0;border-color:#a3c8a0}.perm-group-bar--partial[data-v-84609ff1]{background:#fffdf5;border-color:#f5c841}.perm-group-title[data-v-84609ff1]{color:#1d2129;font-size:13px;font-weight:600}.perm-group-count[data-v-84609ff1]{color:#86909c;font-size:11px}.perm-leaf-list[data-v-84609ff1]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-left:16px;display:grid}.perm-card--leaf[data-v-84609ff1]{margin-left:16px;font-size:12px}.perm-card[data-v-84609ff1]{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;transition:all .18s;overflow:hidden}.perm-card[data-v-84609ff1]:hover{border-color:#b8c5e0;box-shadow:0 2px 8px #4f6ef714}.perm-card--full[data-v-84609ff1]{background:#f6fcf6;border-color:#a3c8a0}.perm-card--partial[data-v-84609ff1]{background:#fffdf5;border-color:#f5c841}.perm-card-head[data-v-84609ff1]{background:#fff;border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.perm-card--full .perm-card-head[data-v-84609ff1]{background:#f0faf0;border-color:#d4edd4}.perm-card--partial .perm-card-head[data-v-84609ff1]{background:#fffef0;border-color:#fef0c8}.perm-card-title[data-v-84609ff1]{color:#1d2129;font-size:13px;font-weight:600}.perm-card-count[data-v-84609ff1]{color:#86909c;font-size:11px;font-weight:500}.perm-card--full .perm-card-count[data-v-84609ff1]{color:#52c41a}.perm-card--partial .perm-card-count[data-v-84609ff1]{color:#f5a623}.perm-card-actions[data-v-84609ff1]{flex-wrap:wrap;gap:4px;padding:8px 12px;display:flex}.perm-chip[data-v-84609ff1]{color:#86909c;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e5e7eb;border-radius:14px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;transition:all .15s;display:inline-flex}.perm-chip[data-v-84609ff1]:hover{color:#4f6ef7;border-color:#4f6ef7}.perm-chip--on[data-v-84609ff1]{color:#fff;background:#4f6ef7;border-color:#4f6ef7}.perm-chip--on[data-v-84609ff1]:hover{background:#3c5de8}.perm-chip-dot[data-v-84609ff1]{background:#d0d5dd;border-radius:50%;width:6px;height:6px;transition:background .15s}.perm-chip--on .perm-chip-dot[data-v-84609ff1]{background:#fff}.data-scope-wrap[data-v-84609ff1]{flex:1;padding:16px;overflow-y:auto}.scope-title[data-v-84609ff1]{color:#1d2129;margin-bottom:12px;font-weight:500}.custom-emp-section[data-v-84609ff1]{border:1px solid #e5e7eb;border-radius:6px;margin-top:16px;overflow:hidden}.custom-emp-header[data-v-84609ff1]{background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:8px 12px;display:flex}.custom-emp-title[data-v-84609ff1]{color:#4e5969;flex:1;font-size:13px;font-weight:500}.dept-emp-preview[data-v-84609ff1]{color:#86909c;margin-top:8px;font-size:12px}.preview-label[data-v-84609ff1]{color:#4f6ef7}.report-list[data-v-84609ff1]{flex-wrap:wrap;flex:1;gap:12px 24px;padding:16px;display:flex;overflow-y:auto}.report-item[data-v-84609ff1]{font-size:13px}.modal-search-bar[data-v-84609ff1]{gap:8px;margin-bottom:4px;display:flex}#app{height:100%;min-height:0}.list-page-table .n-data-table-th{border-right:1px solid #e5e7eb}.list-page-table .n-data-table-th:last-child{border-right:none}.list-page-table .n-data-table-td{border-right:1px solid #f0f0f0}.list-page-table .n-data-table-td:last-child{border-right:none}.table-wrapper .n-data-table-th,.page-table .n-data-table-th,.line-table-wrap .n-data-table-th,.list-page-table .n-data-table-th{border-right:1px solid #e5e7eb}.table-wrapper .n-data-table-th:last-child,.page-table .n-data-table-th:last-child,.line-table-wrap .n-data-table-th:last-child,.list-page-table .n-data-table-th:last-child{border-right:none}.table-wrapper .n-data-table-td,.page-table .n-data-table-td,.line-table-wrap .n-data-table-td,.list-page-table .n-data-table-td{border-right:1px solid #f0f0f0}.table-wrapper .n-data-table-td:last-child,.page-table .n-data-table-td:last-child,.line-table-wrap .n-data-table-td:last-child,.list-page-table .n-data-table-td:last-child{border-right:none}.table-wrapper{flex:1;min-width:0;min-height:0;overflow:auto}.table-wrapper>.app-data-table-wrap,.table-wrapper>.n-data-table{flex:1;min-width:0;height:100%;min-height:0}.table-wrapper .n-data-table{flex:1;min-width:0;min-height:0}:is(.ws-route-page .table-wrapper:has(>.app-data-table-wrap),.ws-route-page .table-wrapper:has(>.n-data-table)){flex-direction:column!important;min-width:0!important;display:flex!important;overflow:hidden!important}.ws-route-page .table-wrapper:has(>.hr-overview-board){flex-direction:column!important;min-width:0!important;min-height:0!important;display:flex!important;overflow:hidden!important}.ws-route-page .content-card.glass-card-static:not(.detail-body){min-width:0;overflow:hidden}.app-icon[data-v-e8d4708a]{vertical-align:-.15em;flex-shrink:0;line-height:1;display:inline-block}.list-pagination-bar[data-v-281c184f]{color:#646a73;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.total-text[data-v-281c184f],.page-info[data-v-281c184f]{white-space:nowrap}.page-size-select[data-v-281c184f]{color:#1d2129;background:#fff;border:1px solid #e5e6eb;border-radius:4px;height:24px;padding:0 6px;font-size:12px}:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-elevated:#222240;--bg-hover:#2a2a4a;--accent-primary:#7c3aed;--accent-secondary:#3b82f6;--accent-gradient:linear-gradient(135deg, #7c3aed 0%, #3b82f6 100%);--accent-gradient-hover:linear-gradient(135deg, #8b5cf6 0%, #60a5fa 100%);--accent-glow:#7c3aed66;--accent-glow-soft:#7c3aed26;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#06b6d4;--text-primary:#f0f0f5;--text-secondary:#a0a0b8;--text-tertiary:#6b6b80;--border-primary:#ffffff0f;--border-hover:#7c3aed4d;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 24px #0000004d;--shadow-glow:0 0 20px #7c3aed26;--shadow-elevated:0 8px 32px #0006;--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--ease-out:cubic-bezier(.16, 1, .3, 1);--sidebar-width:240px;--sidebar-collapsed-width:64px;--header-height:60px;--list-table-header-height:36px;--list-table-row-height:38px;--list-table-cell-px:8px;--list-table-font-size:12px;--list-table-action-btn-height:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-size:13px}body{color:#1d2129;background-color:#f5f7fa;max-width:100vw;height:100%;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.45;overflow:hidden;width:100%!important;margin-right:0!important;padding-right:0!important}#app{height:100%;min-height:0;overflow:hidden}a{color:#165dff;text-decoration:none;transition:color .15s}a:hover{color:#4080ff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}input:-webkit-autofill{-webkit-text-fill-color:#1d2129!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.iconify,.app-icon,svg.iconify{vertical-align:-.15em;flex-shrink:0;display:inline-block}.n-data-table-th{font-weight:700!important}.n-data-table-th .zr-col-header{cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;max-width:100%;display:inline-flex}.n-data-table-th .zr-col-header:active{cursor:grabbing}.n-data-table-th .zr-col-header-grip{color:var(--n-th-icon-color,#00000059);letter-spacing:-2px;flex-shrink:0;font-size:10px;line-height:1}.n-data-table-th .zr-col-header-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{text-overflow:ellipsis;vertical-align:middle;overflow:hidden;white-space:nowrap!important}.n-data-table .n-data-table-td__ellipsis,.n-data-table .n-data-table-td__ellipsis .n-ellipsis,.n-data-table .n-ellipsis{text-overflow:ellipsis;overflow:hidden;white-space:nowrap!important}.n-data-table .n-data-table-td>:not(.n-data-table-expand-trigger):not(.n-checkbox){white-space:nowrap;max-width:100%}.n-data-table .n-data-table-td .n-space{vertical-align:middle;align-items:center;max-width:100%;overflow:hidden;flex-wrap:nowrap!important;gap:4px!important;display:inline-flex!important}.n-data-table .n-data-table-td .n-button,.n-data-table .n-data-table-td .n-tag{white-space:nowrap;flex-shrink:0}.n-data-table .n-data-table-td .wo-no-cell{vertical-align:middle;flex-wrap:nowrap;align-items:center;max-width:100%;display:inline-flex;overflow:hidden}.n-data-table .n-data-table-td .wo-no-cell>*{flex-shrink:0}.n-data-table .n-data-table-td .wo-progress-cell{flex-flow:row;align-items:center;gap:6px;max-width:100%;overflow:hidden}.n-data-table .n-data-table-td .wo-list-pct-inline{white-space:nowrap;flex-shrink:0;display:inline}table.data th,table.data td,.split-table th,.split-table td,.wo-route-quick-table th,.wo-route-quick-table td{white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;overflow:hidden}.tenant-page,.order-page,.report-page,.quality-page,.platform-user-page,.role-page,.package-page,.permission-page,.user-page,.tickets-page{flex-direction:column;flex:1;display:flex;overflow:hidden;gap:0!important;max-width:100%!important}.dashboard,.monitor-page,.app-management-page{flex:1;overflow-y:auto;max-width:100%!important}.so-page,.audit-page,.wo-page,.app-page,.prv-page,.po-page,.pr-page,.preturn-page,.pt-page,.st-page,.sc-page,.sd-page,.sr-page,.flow-page,.osf-page,.wh-page,.recon-page,.ff-page,.qc-task-page,.qc-record-page,.process-inspection-page{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;width:100%!important;max-width:100%!important}.dashboard-page,.monitor-page{flex:1;width:100%;min-width:0;min-height:0;overflow-y:auto}.ws-route-page.wo-page,.ws-route-page.app-page,.ws-route-page.so-page,.ws-route-page.audit-page,.ws-route-page.dashboard-page,.ws-route-page.prv-page,.ws-route-page.po-page,.ws-route-page.pr-page,.ws-route-page.preturn-page,.ws-route-page.sc-page,.ws-route-page.sd-page,.ws-route-page.sr-page,.ws-route-page.ff-page{flex:1!important;height:100%!important;min-height:0!important;position:relative!important;inset:auto!important}.wo-page>.content-card,.app-page>.content-card,.prv-page>.content-card,.po-page>.content-card,.pr-page>.content-card,.preturn-page>.content-card,.sc-page>.content-card,.sd-page>.content-card,.sr-page>.content-card,.ff-page>.content-card{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.dept-employee-layout{flex:1;gap:0;width:100%;min-width:0;overflow:hidden;flex-direction:row!important}.dept-panel{border-right:1px solid #e5e6eb;flex-direction:column;flex-shrink:0;width:280px;min-width:280px;display:flex;position:relative;overflow:hidden}.emp-panel{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.table-wrapper,.page-table,.line-table-wrap,.so-page .table-wrapper,.audit-page .table-wrapper,.wo-page .table-wrapper,.tenant-page .table-wrapper,.order-page .table-wrapper,.report-page .table-wrapper,.quality-page .table-wrapper,.platform-user-page .table-wrapper,.role-page .table-wrapper,.package-page .table-wrapper,.permission-page .table-wrapper,.user-page .table-wrapper,.tickets-page .table-wrapper{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.so-page .table-wrapper .n-data-table,.audit-page .table-wrapper .n-data-table,.wo-page .table-wrapper .n-data-table,.tenant-page .table-wrapper .n-data-table,.order-page .table-wrapper .n-data-table,.report-page .table-wrapper .n-data-table,.quality-page .table-wrapper .n-data-table,.platform-user-page .table-wrapper .n-data-table,.role-page .table-wrapper .n-data-table,.package-page .table-wrapper .n-data-table,.permission-page .table-wrapper .n-data-table,.user-page .table-wrapper .n-data-table,.tickets-page .table-wrapper .n-data-table{--n-td-color:transparent;--n-th-color:transparent;flex:1}.order-page .content-card,.report-page .content-card,.quality-page .content-card,.order-page .table-wrapper,.report-page .table-wrapper,.quality-page .table-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.order-page .table-wrapper .n-data-table,.report-page .table-wrapper .n-data-table,.quality-page .table-wrapper .n-data-table{flex:1}.so-page .table-wrapper .n-data-table-wrapper,.audit-page .table-wrapper .n-data-table-wrapper,.wo-page .table-wrapper .n-data-table-wrapper,.tenant-page .table-wrapper .n-data-table-wrapper,.order-page .table-wrapper .n-data-table-wrapper,.report-page .table-wrapper .n-data-table-wrapper,.quality-page .table-wrapper .n-data-table-wrapper,.platform-user-page .table-wrapper .n-data-table-wrapper,.role-page .table-wrapper .n-data-table-wrapper,.package-page .table-wrapper .n-data-table-wrapper,.permission-page .table-wrapper .n-data-table-wrapper,.user-page .table-wrapper .n-data-table-wrapper,.tickets-page .table-wrapper .n-data-table-wrapper{flex:1;width:100%;min-height:0;overflow:auto}.wo-page .table-wrapper .n-data-table,.wo-page .table-wrapper .n-data-table-base-table{width:100%!important}.wo-route-stepper{scrollbar-width:thin;flex-wrap:nowrap;align-items:flex-start;gap:0;min-width:160px;max-width:520px;padding:2px 0 4px;display:flex;overflow:auto hidden}.wo-route-stepper::-webkit-scrollbar{height:4px}.wo-route-stepper--compact .wo-route-step{width:44px}.wo-route-stepper--compact .wo-route-step-circle{width:24px;height:24px;font-size:8px}.wo-route-stepper--compact .wo-route-step-label{max-width:44px;font-size:9px}.wo-route-step{flex-direction:column;flex:none;align-items:center;width:52px;display:flex;position:relative}.wo-route-step:not(:last-child):before{content:"";z-index:0;background:#e5e6eb;width:calc(100% - 28px);height:2px;position:absolute;top:13px;left:calc(50% + 14px)}.wo-route-step.done:not(:last-child):before,.wo-route-step.active:not(:last-child):before{background:#22c55e}.wo-route-step-circle{color:#86909c;z-index:1;background:#fff;border:2px solid #e5e6eb;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:9px;font-weight:700;line-height:1;display:flex;position:relative}.wo-route-step.done .wo-route-step-circle{color:#22c55e;background:#22c55e14;border-color:#22c55e}.wo-route-step.done .wo-route-step-circle:after{content:"✓";font-size:14px;font-weight:800}.wo-route-step.done .wo-route-step-pct{display:none}.wo-route-step.active .wo-route-step-circle{color:#16a34a;background:#fff;border-color:#22c55e}.wo-route-step.os .wo-route-step-circle{color:#722ed1;background:#722ed10f;border-color:#722ed1}.wo-route-step.done.os .wo-route-step-circle{color:#722ed1;background:#722ed114;border-color:#722ed1}.wo-route-step.active.os .wo-route-step-circle{color:#531dab;background:#fff;border-color:#722ed1}.wo-route-step.os:not(:last-child):before{background:#d3b5f0}.wo-route-step.done.os:not(:last-child):before,.wo-route-step.active.os:not(:last-child):before{background:#722ed1}.wo-route-step-label{color:#86909c;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:52px;margin-top:4px;font-size:10px;overflow:hidden}.wo-route-step.active .wo-route-step-label{color:#16a34a;font-weight:600}.wo-route-step.done .wo-route-step-label{color:#22c55e}.wo-progress-cell{flex-flow:row;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex;overflow:hidden}.wo-list-pct-inline{color:#86909c;font-size:11px;line-height:1.3}.wo-route-pct-num{color:#16a34a;font-weight:700}.wo-route-empty{color:#c9cdd4;font-size:12px}.wo-list-table-wrap .wo-route-stepper{max-width:100%}.glass-card-static{border-radius:8px}.wo-page .page-header,.app-page .page-header{padding:6px 12px 0!important}.wo-page .page-title,.app-page .page-title{line-height:1.3;font-size:16px!important}.wo-page .kpi-bar,.wo-page .filter-bar,.wo-page .action-bar,.audit-page .action-bar,.audit-page .filter-bar{font-size:12px;gap:6px!important;margin-top:4px!important;margin-bottom:0!important;padding-top:6px!important;padding-bottom:6px!important}.wo-page .filter-bar,.wo-page .action-bar{padding-left:12px!important;padding-right:12px!important}.wo-page .pagination-bar{font-size:12px;padding:6px 12px!important}.wo-page .view-tabs{padding:0 10px 6px!important}.wo-page .view-tabs :deep(.n-tabs-nav){min-height:32px}.wo-page .kanban-wrapper{gap:8px;min-height:0!important}.wo-page .kanban-header{font-size:13px;padding:8px 10px!important}.wo-page .kanban-body{padding:6px!important}.wo-page .kanban-card{padding:8px!important}.wo-page .gantt-pane{min-height:0!important}.ptd-page{gap:6px!important}.ptd-kpi-strip{padding:6px 10px!important}.ptd-toolbar{padding:4px 0!important}.ptd-grid-wrap{flex:1;min-height:0!important}.portal-layout,.login-page{height:auto;min-height:100%;overflow:auto}:is(body:has(.portal-layout),body:has(.login-page)){overflow:auto}.wo-route-stepper--list{align-items:flex-start;padding:0}.wo-route-stepper--list .wo-route-step{width:44px}.wo-route-stepper--list .wo-route-step-circle{width:22px;height:22px;font-size:8px}.wo-route-stepper--list .wo-route-step:not(:last-child):before{width:calc(100% - 22px);top:11px;left:calc(50% + 11px)}.wo-route-stepper--list .wo-route-step.done .wo-route-step-circle:after{font-size:11px}.wo-route-stepper--list .wo-route-step-label{white-space:nowrap;text-overflow:ellipsis;max-width:44px;margin-top:2px;font-size:9px;line-height:1.1;display:block;overflow:hidden}.wo-route-stepper--list .wo-route-step.done .wo-route-step-label{color:#1d2129}.wo-route-stepper--list .wo-route-step.active .wo-route-step-label{color:#16a34a;font-weight:600}.n-data-table .n-data-table-th{color:#4e5969;border-bottom:1px solid #e5e7eb;height:var(--list-table-header-height)!important;max-height:var(--list-table-header-height)!important;padding:0 var(--list-table-cell-px)!important;font-size:var(--list-table-font-size)!important;line-height:var(--list-table-header-height)!important;box-sizing:border-box!important;background:#f0f2f5!important}.n-data-table .n-data-table-td{color:#333;border-bottom:1px solid #f0f0f0;height:var(--list-table-row-height)!important;max-height:var(--list-table-row-height)!important;padding:0 var(--list-table-cell-px)!important;font-size:var(--list-table-font-size)!important;box-sizing:border-box!important;line-height:1.2!important}.n-data-table .n-data-table-tr:hover .n-data-table-td{background:#e8f0fe!important}.n-data-table .n-data-table-tr--checked .n-data-table-td{background:#e8f4fe!important}.n-data-table .n-data-table-td .n-button{height:var(--list-table-action-btn-height)!important;min-height:var(--list-table-action-btn-height)!important;font-size:var(--list-table-font-size)!important;padding:0 6px!important}.n-data-table .n-data-table-td .n-tag{height:22px!important;padding:0 6px!important;font-size:11px!important;line-height:20px!important}.n-data-table .n-data-table-td .n-checkbox{align-items:center;height:100%;display:inline-flex}.n-data-table .n-data-table-td .pct-cell,.n-data-table .n-data-table-td .ship-cell{max-height:calc(var(--list-table-row-height) - 4px);flex-direction:column;justify-content:center;gap:1px;display:flex;overflow:hidden}.n-data-table .n-data-table-td .pct-val,.n-data-table .n-data-table-td .ship-val{margin:0;font-size:11px;line-height:1}.n-data-table .n-data-table-td .n-progress{margin:0!important}.n-data-table .n-data-table-td .n-progress-graph{height:4px!important}.app-data-table-wrap .n-data-table .n-data-table-th,.app-data-table-wrap .n-data-table .n-data-table-td{vertical-align:middle!important}.ws-route-page:has(>.hr-page){box-sizing:border-box;flex-direction:column!important;flex:1!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:hidden!important}.ws-route-page:has(>.content-card.glass-card-static){box-sizing:border-box;flex-direction:column!important;flex:1!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:hidden!important}.ws-route-page>.content-card.glass-card-static{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.ws-route-page.report-page-shell>.content-card.glass-card-static,.ws-route-page.report-page-fill>.content-card.glass-card-static{flex:none;height:auto;min-height:0;display:block;overflow:visible}.ws-route-page .action-bar,.ws-route-page .filter-bar,.ws-route-page .query-bar,.ws-route-page .so-toolbar,.ws-route-page .pr-toolbar,.ws-route-page .po-toolbar,.ws-route-page .prv-toolbar,.ws-route-page .pret-toolbar,.ws-route-page .sd-toolbar,.ws-route-page .sr-toolbar,.ws-route-page .ff-toolbar,.ws-route-page .inv-toolbar{border-bottom:1px solid #f2f3f5;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:12px 16px;flex-direction:row!important;display:flex!important}.ws-route-page .action-bar+.filter-bar,.ws-route-page .so-head+.so-toolbar,.ws-route-page .pr-head+.pr-toolbar,.ws-route-page .po-head+.po-toolbar,.ws-route-page .prv-head+.prv-toolbar,.ws-route-page .pret-head+.pret-toolbar,.ws-route-page .sd-head+.sd-toolbar,.ws-route-page .sr-head+.sr-toolbar,.ws-route-page .ff-head+.ff-toolbar,.ws-route-page .inv-head+.inv-toolbar{border-top:none}.ws-route-page .table-wrapper{flex:auto;min-width:0;min-height:120px;padding:0 16px;overflow:auto}.ws-route-page .pagination-bar{background:#fafafa;border-top:1px solid #e5e6eb;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.ws-route-page .total-text{color:#86909c;margin-right:8px;font-size:13px}.ws-route-page .page-info{color:#4e5969;font-size:13px}.ws-route-page .page-size-select{cursor:pointer;background:#fff;border:1px solid #e5e6eb;border-radius:4px;outline:none;padding:2px 4px;font-size:13px;line-height:22px}.ws-route-page:is(.wo-detail-page,.os-detail-page,.so-create-page,.purchase-detail-page,.detail-page,.shipment-detail-page){box-sizing:border-box;flex-direction:column!important;flex:1!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;display:flex!important;position:relative!important;inset:auto!important;overflow:hidden!important}.ws-route-page.purchase-detail-page,.ws-route-page.shipment-detail-page{background:#f5f6f8}.ws-route-page.wo-detail-page,.ws-route-page.os-detail-page,.ws-route-page.os-flow-detail-page,.ws-route-page.so-create-page{background:#fff}.ws-route-page .create-header,.ws-route-page .detail-toolbar{z-index:10;background:#fff;border-bottom:1px solid #f2f3f5;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.ws-route-page .header-main{flex:1;align-items:baseline;gap:10px;min-width:120px;display:flex}.ws-route-page .header-title,.ws-route-page .toolbar-title{color:#1d2129;font-size:15px;font-weight:600}.ws-route-page .header-sub{color:#86909c;font-family:ui-monospace,monospace;font-size:12px}.ws-route-page .back-btn{color:#4e5969}.ws-route-page .header-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ws-route-page .detail-loading{flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.ws-route-page .detail-body,.ws-route-page .wo-body,.ws-route-page .so-body{-webkit-overflow-scrolling:touch;flex:auto;min-width:0;min-height:0;overflow:hidden auto}.ws-route-page.purchase-detail-page .detail-body,.ws-route-page.shipment-detail-page .detail-body{margin:12px;padding:16px}.ws-route-page.purchase-detail-page .detail-body.content-card.glass-card-static{flex:auto;min-height:0;overflow:hidden auto}.ws-route-page.wo-detail-page .wo-body,.ws-route-page.os-detail-page .wo-body,.ws-route-page.so-create-page .so-body{padding:0 20px 16px}:is(.ws-route-page.so-create-page .so-body .so-tabs :deep(.n-tabs),.ws-route-page.wo-detail-page .wo-body .wo-tabs :deep(.n-tabs),.ws-route-page.os-detail-page .wo-body .wo-tabs :deep(.n-tabs)){flex:none!important;height:auto!important;max-height:none!important}:is(.ws-route-page.so-create-page .so-body .so-tabs :deep(.n-tabs-pane-wrapper),.ws-route-page.wo-detail-page .wo-body .wo-tabs :deep(.n-tabs-pane-wrapper),.ws-route-page.os-detail-page .wo-body .wo-tabs :deep(.n-tabs-pane-wrapper),.ws-route-page.so-create-page .so-body .so-tabs :deep(.n-tab-pane),.ws-route-page.wo-detail-page .wo-body .wo-tabs :deep(.n-tab-pane),.ws-route-page.os-detail-page .wo-body .wo-tabs :deep(.n-tab-pane)){flex:none!important;height:auto!important;max-height:none!important;overflow:visible!important}:is(.ws-route-page .wo-tabs :deep(.n-tabs-nav),.ws-route-page .so-tabs :deep(.n-tabs-nav)){margin-bottom:4px}.ws-route-page .form-section{margin-bottom:20px}.ws-route-page .section-title{color:#1d2129;border-left:2px solid var(--zr-primary,#3265f5);margin:0 0 12px;padding-left:8px;font-size:13px;font-weight:600;line-height:1.4}.ws-route-page .page-desc-line{color:#4e5969;flex-shrink:0;margin:6px 20px 0;font-size:13px}.ws-route-page .tab-hint{color:#86909c;margin:0 0 10px;font-size:12px}.ws-route-page .tab-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ws-route-page .wo-detail-alert-bar,.ws-route-page .detail-alert-bar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:8px 20px 0;display:flex}.ws-route-page .wo-detail-meta{color:#86909c;font-size:12px}.ws-route-page .lines-section{border-top:1px solid #eee;margin-top:12px;padding-top:12px}.ws-route-page .lines-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ws-route-page .hr-page-header{border-bottom:1px solid #f2f3f5;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.ws-route-page .hr-page-title{color:#1d2129;margin:0;font-size:16px;font-weight:600;line-height:1.4}.ws-route-page .hr-page-desc{color:#86909c;margin:4px 0 0;font-size:13px;line-height:1.5}.ws-route-page .hr-page-header-extra{flex-shrink:0;align-items:center;gap:8px;display:flex}.n-drawer .n-drawer-content .n-descriptions{margin-bottom:4px}.n-drawer .n-drawer-content .n-h5{color:#1d2129;margin-top:12px;margin-bottom:8px;font-size:13px;font-weight:600}.glass-card{background:#fff;border:1px solid #e5e6eb;border-radius:12px;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 12px #0000000f}.glass-card:hover{border-color:var(--zr-primary,#3265f5);box-shadow:0 2px 12px #0000000f, 0 0 20px rgba(var(--zr-primary-rgb,50, 101, 245), .1);transform:translateY(-2px)}.glass-card-static{background:#fff;border:1px solid #e5e6eb;border-radius:12px;box-shadow:0 2px 12px #0000000f}.glass-sidebar{background:#fff;border-right:1px solid #e5e6eb}.glass-header{background:#fff;border-bottom:1px solid #e5e6eb;box-shadow:0 1px 4px #0000000a}.glass-input{background:#fff;border:1px solid #e5e6eb;border-radius:8px;transition:border-color .15s,box-shadow .15s}.glass-input:focus{border-color:var(--zr-primary,#3265f5);box-shadow:0 0 0 3px rgba(var(--zr-primary-rgb,50, 101, 245), .1);outline:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #165dff33}50%{box-shadow:0 0 24px #165dff66}}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out) forwards;opacity:0}.animate-fade-in{animation:fadeIn .4s var(--ease-out) forwards;opacity:0}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.tc-page{box-sizing:border-box;background:#fff;border:1px solid #e5e6eb;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.tc-page--fill{height:calc(100vh - 140px);min-height:520px}.tc-page--split{background:0 0;border:none;flex-direction:row;gap:0;height:calc(100vh - 140px);min-height:520px;display:flex}.tc-page .center-title,.tc-center .center-title{color:#0e2d5f;background:linear-gradient(#eff5ff 0%,#e0ecff 100%);border-bottom:1px solid #95b8e7;flex-shrink:0;height:28px;padding:0 10px;font-size:12px;font-weight:600;line-height:28px}.tc-page .tc-query,.tc-crud .tc-query,.tc-bill .tc-query,.tc-pick .tc-query,.tc-mc .tc-query,.tc-stock .tc-query,.tc-rpt .tc-query,.tc-center .tc-query,.tc-inbound .tc-query,.tc-mould .tc-query,.tc-usage .tc-query,.tc-file .tc-query,.tc-aisle .tc-query,.tc-depot-arch .tc-query,.tc-classify .tc-query{background:#fafcff;border-bottom:1px solid #e0ecff;flex-shrink:0;padding:8px 10px 4px}.tc-page .tc-query .q-row,.tc-query .q-row{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:6px;display:flex}.tc-query .q-row:last-child{margin-bottom:2px}.tc-query .q-row>label,.tc-query label.q-label{color:#333;white-space:nowrap;margin:0;font-size:12px}.tc-query .q-actions{align-items:center;gap:6px;margin-left:4px;display:inline-flex}.tc-page .tc-toolbar,.tc-crud .tc-toolbar,.tc-bill .tc-toolbar,.tc-pick .tc-toolbar,.tc-mc .tc-toolbar,.tc-stock .tc-toolbar,.tc-rpt .tc-toolbar,.tc-center .tc-toolbar,.tc-inbound .tc-toolbar,.tc-mould .tc-toolbar,.tc-usage .tc-toolbar,.tc-file .tc-toolbar,.tc-aisle .tc-toolbar,.tc-depot-arch .tc-toolbar,.tc-classify .tc-toolbar{background:#fff;border-bottom:1px solid #e0ecff;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px 4px;padding:4px 8px;display:flex}.tb-btn{color:#444;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:2px;align-items:center;gap:3px;height:26px;padding:0 8px;font-family:inherit;font-size:12px;line-height:1;display:inline-flex}.tb-btn:hover:not(:disabled){color:#0e2d5f;background:#eaf2ff;border-color:#b7d2ff}.tb-btn:disabled{opacity:.45;cursor:default}.tb-btn--seed{margin-left:auto}.tb-btn--primary{color:#0958d9;background:#e8f3ff;border-color:#91caff}.tb-btn--primary:hover:not(:disabled){background:#d6ebff;border-color:#69b1ff}.tb-btn--danger:hover:not(:disabled){color:#cf1322;background:#fff1f0;border-color:#ffa39e}.tb-ico{color:#5b8bd9;flex-shrink:0}.tb-ico--add{color:#18a058}.tb-ico--edit{color:#f0a020}.tb-ico--del{color:#d03050}.tc-table-wrap,.tc-master{background:#fff;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tc-table-wrap>.n-data-table,.tc-master>.n-data-table{flex:1;height:100%}.has-detail .tc-master{flex:1.15}.tc-detail{background:#fff;border-top:1px solid #95b8e7;flex-direction:column;flex:.9;min-height:160px;display:flex;overflow:hidden}.tc-detail-title,.tc-panel-title{color:#0e2d5f;background:linear-gradient(#eff5ff 0%,#e0ecff 100%);border-bottom:1px solid #95b8e7;flex-shrink:0;padding:5px 10px;font-size:12px;font-weight:600}.tc-detail-empty-hint{color:#c45c26;margin-left:8px;font-weight:400}.tc-detail>.n-data-table{flex:1;height:100%}.tc-sub{color:#666;margin-left:4px;font-weight:400}.tc-ops,.opt-wrap,.ops{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.tc-op,.opt-link,.op,.link-btn{color:#1a7bb9;cursor:pointer;background:0 0;border:none;align-items:center;margin:0;padding:0;font-family:inherit;font-size:12px;line-height:1.2;text-decoration:none;display:inline-flex}.tc-op:hover:not(:disabled):not(.is-disabled),.opt-link:hover,.op:hover,.link-btn:hover:not(:disabled){color:#0e2d5f;text-decoration:underline}.tc-op--danger,.opt-del,.link-btn.danger{color:#d03050}.tc-op--danger:hover:not(:disabled):not(.is-disabled),.opt-del:hover,.link-btn.danger:hover:not(:disabled){color:#a8071a;text-decoration:underline}.tc-op:disabled,.tc-op.is-disabled,.link-btn:disabled{opacity:.4;cursor:default;pointer-events:none;text-decoration:none}.tc-page .n-data-table-th,.tc-crud .n-data-table-th,.tc-bill .n-data-table-th,.tc-pick .n-data-table-th,.tc-mc .n-data-table-th,.tc-stock .n-data-table-th,.tc-rpt .n-data-table-th,.tc-center .n-data-table-th,.tc-inbound .n-data-table-th,.tc-mould .n-data-table-th,.tc-usage .n-data-table-th,.tc-file .n-data-table-th,.tc-aisle .n-data-table-th,.tc-depot-arch .n-data-table-th,.tc-classify .n-data-table-th{color:#0e2d5f!important;background:#e0ecff!important;font-size:12px!important;font-weight:600!important}.tc-page .n-data-table-td,.tc-crud .n-data-table-td,.tc-bill .n-data-table-td,.tc-pick .n-data-table-td,.tc-mc .n-data-table-td,.tc-stock .n-data-table-td,.tc-rpt .n-data-table-td,.tc-center .n-data-table-td,.tc-inbound .n-data-table-td,.tc-mould .n-data-table-td,.tc-usage .n-data-table-td,.tc-file .n-data-table-td,.tc-aisle .n-data-table-td,.tc-depot-arch .n-data-table-td,.tc-classify .n-data-table-td{font-size:12px!important}.tc-row-active td{background:#e8f3ff!important}.kgj-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.kgj-table th{color:#0e2d5f;text-align:left;white-space:nowrap;background:#e0ecff;border:1px solid #95b8e7;padding:6px 8px;font-weight:600}.kgj-table td{color:#333;text-overflow:ellipsis;white-space:nowrap;border:1px solid #d0dce8;padding:5px 8px;overflow:hidden}.kgj-table tr:hover td{background:#f0f7ff}.kgj-table tr.active td{background:#e8f3ff}.tc-query .n-button{border-radius:2px;height:28px}.tc-query .n-input,.tc-query .n-base-selection,.tc-query .n-date-picker{--n-height:28px!important}.tc-note-wrap{flex:1;justify-content:center;align-items:center;display:flex}
