:root{color:#17233c;font-synthesis:none;--navy:#073e72;--blue:#0878cf;--line:#d6e0eb;--color-primary:#0877c9;--color-info:#0b6fae;--color-success:#12805c;--color-warning:#b45309;--color-danger:#b42318;--color-text-primary:#17233c;--color-text-secondary:#51637a;--color-text-tertiary:#7d8ea1;--color-text-muted:#97a6b7;--color-border-secondary:#d3dde8;--color-border-tertiary:#e2e9f2;--color-background-secondary:#fff;--color-background-tertiary:#f1f5f9;--border-radius-md:8px;--border-radius-lg:10px;--font-mono:"SFMono-Regular", Consolas, monospace;background:#f4f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:1100px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.mobile-nav-trigger,.mobile-nav-backdrop{display:none}.app{min-height:100vh;padding-left:238px;transition:padding .2s}@media (width<=1100px){body{min-width:0}.app{width:100%}}.sidebar{color:#fff;z-index:20;background:linear-gradient(155deg,#07518f 0%,#063e72 45%,#032d58 100%);flex-direction:column;width:238px;transition:width .2s;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:3px 0 14px #0a31542b}.brand{border-bottom:1px solid #ffffff20;align-content:center;gap:6px;min-height:124px;padding:14px 18px;font-weight:700;display:grid;position:relative}.brand-home{width:calc(100% - 20px);color:inherit;text-align:left;background:0 0;border:0;justify-items:start;gap:6px;padding:0;display:grid}.brand img{object-fit:contain;background:#fff;border-radius:10px;width:183px;height:71px;padding:4px}.brand .icon-button{color:#d8eafa;background:#104e83;border:1px solid #ffffff32;border-radius:50%;width:27px;height:27px;padding:0;font-size:15px;position:absolute;top:52px;right:-13px}.sidebar nav{flex:1;padding:12px 8px;overflow:auto}.nav-group,.top-link{color:#dce9f6;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;width:100%;padding:11px 13px;text-decoration:none;display:flex}.nav-group b{margin-left:auto}.nav-group:hover,.top-link:hover,.top-link.active{color:#fff;background:#ffffff18}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 19px;width:19px;height:19px}.nav-children{border-left:1px solid #ffffff30;margin:2px 0 12px 20px;padding-left:8px}.nav-children button{color:#cfe2f2;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:10px 13px;font-size:14px;text-decoration:none;display:flex}.nav-children button:hover,.nav-children button.active{color:#fff;background:#1c73bd}.nav-subtitle{color:#8fb6d7;padding:8px 13px 3px;font-size:12px;display:block}.nav-subgroup b{margin-left:auto}.nav-grandchildren{border-left:1px solid #ffffff24;margin-left:18px;padding-left:5px}.nav-grandchildren button{padding-top:8px;padding-bottom:8px}.placeholder-card{max-width:720px}.placeholder-card p{color:#5b6f86;line-height:1.7}.placeholder-card small{color:#8193a7}.hr-table{width:100%}.hr-table select{min-width:180px}.hr-org-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px;display:grid}.hr-org-grid h3{margin:0 0 4px}.hr-org-grid ul{margin:14px 0 0;padding:0;list-style:none}.hr-org-grid li{border-top:1px solid var(--line);justify-content:space-between;padding:9px 0;display:flex}.hr-org-grid li span{color:#718397;font:12px SFMono-Regular,Consolas,monospace}.hr-module-card p,.workflow-note{color:#5b6f86;line-height:1.7}.hr-organization{grid-template-columns:300px minmax(0,1fr);gap:14px;min-height:calc(100vh - 120px);display:grid}.hr-org-tree{padding:0;overflow:auto}.hr-org-tree>header,.hr-org-section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.hr-org-tree header button{border:0;padding:3px}.hr-tree-list{margin:0;padding:0 0 0 16px;list-style:none}.hr-org-tree>.hr-tree-list{padding:10px}.hr-tree-node{border-radius:6px;align-items:center;display:flex}.hr-tree-node:hover,.hr-tree-node.selected{background:#e8f3fc}.hr-tree-node.inactive{opacity:.58}.hr-tree-toggle,.hr-tree-spacer{background:0 0;border:0;flex:0 0 26px;width:26px;padding:5px}.hr-tree-label{text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;padding:8px 7px;display:flex}.hr-tree-label small{color:#8797a9}.hr-org-selected{border-top:1px solid var(--line);gap:6px;margin:14px;padding:12px;display:grid}.hr-org-selected small{color:#718397}.hr-org-content{min-width:0;padding:0;overflow:auto}.hr-org-content .tabs{padding:12px 14px 0}.hr-org-content table{width:100%}.checkbox-line{align-items:center;gap:8px;padding:4px 0;flex-direction:row!important;display:flex!important}.checkbox-line input{width:auto}.workflow-note{background:#e8f3fc;border:1px solid #b8d8f0;border-radius:7px;margin-bottom:14px;padding:10px 14px}.workflow-list{gap:14px;display:grid}.workflow-card header{justify-content:space-between;align-items:flex-start;display:flex}.workflow-card h3{margin:0 0 5px}.workflow-steps{border-top:1px solid var(--line);align-items:flex-start;gap:18px;margin:14px 0 0;padding:18px 0 0;list-style:none;display:flex}.workflow-steps li{flex:1;gap:10px;display:flex;position:relative}.workflow-steps li>b{color:#fff;background:#0877c9;border-radius:50%;flex:0 0 28px;place-items:center;height:28px;display:grid}.workflow-steps li:not(:last-child):after{content:"→";color:#8aa0b5;position:absolute;top:4px;right:-13px}.workflow-steps li span{gap:5px;display:grid}.workflow-steps small{color:#718397;white-space:normal}.workflow-table{width:100%}.workflow-editor fieldset{border:0;margin:0;padding:0}.workflow-step-editor{border-top:1px solid var(--line);grid-template-columns:34px 1.2fr 1fr 1fr .8fr auto;align-items:end;gap:10px;padding:12px 0;display:grid}.workflow-step-editor>b{color:#0877c9;align-self:center;font-size:18px}.sidebar-user{border-top:1px solid #ffffff1f;padding:14px 18px 18px}.sidebar-user-menu{gap:4px;display:grid;position:relative}.sidebar-user-row{align-items:center;gap:8px;min-width:0;display:flex}.sidebar-user-row>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.sidebar-user small{color:#aac3dc}.sidebar-gear{color:#dce9f6;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;padding:0;display:grid}.sidebar-gear:hover,.sidebar-gear:focus-visible{color:#fff;background:#ffffff18}.sidebar-gear .nav-icon{stroke-width:2px;width:22px;height:22px}.sidebar-user-popover{z-index:30;background:#fff;border:1px solid #c9d6e4;border-radius:8px;gap:4px;min-width:132px;padding:6px;display:grid;position:absolute;bottom:0;left:calc(100% + 8px);box-shadow:0 10px 28px #0b294340}.sidebar-user-popover button{color:#20354e;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex}.sidebar-user-popover button:hover{color:#0877c9;background:#eef5fb}.sidebar-user-popover .nav-icon{color:currentColor;width:15px;height:15px}.app.collapsed{padding-left:72px}.sidebar.collapsed{width:72px}.sidebar.collapsed .brand span,.sidebar.collapsed .nav-group span:not(.nav-icon),.sidebar.collapsed .nav-group b,.sidebar.collapsed .top-link span:not(.nav-icon),.sidebar.collapsed .sidebar-user,.sidebar.collapsed .nav-children{display:none}.sidebar.collapsed .brand{min-height:82px;padding:14px 10px}.sidebar.collapsed .brand-home{justify-items:center;width:100%}.sidebar.collapsed .brand img{width:44px;height:40px;padding:4px}.sidebar.collapsed .brand .icon-button{margin:0;top:36px}.sidebar.collapsed .nav-group,.sidebar.collapsed .top-link{justify-content:center;gap:0;padding-left:0;padding-right:0}.nav-children .prototype-child{color:#aebed0;padding-left:54px;font-size:12px}.nav-children .prototype-child:before{content:"";border:1px solid;border-radius:50%;width:7px;height:7px;margin-right:4px}.page{background:linear-gradient(135deg,#f8fafd,#edf3f9);min-height:100vh;padding:44px 28px 32px}.workspace-tabs{z-index:18;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8fafcf7;border-bottom:1px solid #d7e0e9;align-items:center;gap:14px;height:38px;padding:0 14px;transition:left .2s;display:flex;position:fixed;top:0;left:238px;right:0;box-shadow:0 1px 4px #173a5d0a}.workspace-tabs.collapsed{left:72px}.workspace-tabs-scroll{scrollbar-width:thin;flex:1;align-items:center;gap:0;min-width:0;display:flex;overflow-x:auto}.workspace-tab{color:#607185;max-width:220px;height:30px;box-shadow:none;background:#f1f5f8;border:1px solid #dce4ec;border-radius:0;flex:none;align-items:center;gap:6px;margin-left:-1px;padding:0 8px 0 10px;font-size:12px;transition:color .16s,background .16s,border-color .16s,box-shadow .16s;display:flex;position:relative}.workspace-tab:first-child{border-radius:7px 0 0 7px;margin-left:0}.workspace-tab:last-child{border-radius:0 7px 7px 0}.workspace-tab:only-child{border-radius:7px}.workspace-tab:hover{z-index:1;color:#24425f;background:#f8fafc;border-color:#cbd7e2}.workspace-tab.active{z-index:2;color:#0c4774;box-shadow:inset 0 0 0 2px var(--module-accent,#0878cf), 0 1px 4px #17375214;background:#e3edf7;border-color:#c0cfdd;font-weight:700}.workspace-tab-marker{background:#159c88;border-radius:50%;flex:0 0 7px;width:7px;height:7px;display:none;box-shadow:0 0 0 3px #159c8814}.workspace-tab.active .workspace-tab-marker{display:block}.workspace-tab .nav-icon{color:#6c7e91;stroke-width:1.8px;flex-basis:14px;width:14px;height:14px}.workspace-tab.active .nav-icon{color:#176895}.workspace-tab-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workspace-tab-close{color:#7b8c9d;border-radius:4px;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:15px;font-weight:400;line-height:1;display:grid}.workspace-tab-close:hover{color:#b42318;background:#fce9e7}.workspace-tabs-count{color:#7b8b9d;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;align-items:center;gap:6px;height:28px;padding:0 8px;font-size:12px;display:flex}.workspace-tabs-close-all{color:#c0392b;white-space:nowrap;cursor:pointer;background:#fff5f5;border:1px solid #f0c4c0;border-radius:6px;flex:none;height:26px;padding:0 10px;font-size:11px;font-weight:600;transition:opacity .15s}.workspace-tabs-close-all:hover{opacity:.75}.workspace-tabs-count:hover{color:#294861;background:#edf2f6;border-color:#dce4eb}.workspace-tabs-overflow{font-size:19px;font-weight:700;line-height:1}.workspace-tabs-chevron{font-size:13px;position:relative;top:-1px}.workspace-page-host{min-height:100vh}.toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.toolbar h1{margin:0;font-size:25px}.toolbar-actions{gap:8px;display:flex}.button,button{color:#20354e;background:#fff;border:1px solid #c6d2df;border-radius:6px;padding:8px 14px}.button{color:#fff;background:#0877c9;border-color:#0877c9;font-weight:600;text-decoration:none;display:inline-block}.button.secondary{color:#0877c9;background:#fff}.danger{color:#b42318;background:#fff6f5;border-color:#f0b3ad}.stats{color:#66788d;margin:-7px 0 14px}.tabs{gap:2px;display:flex}.tabs button{color:#50657d;border-radius:7px 7px 0 0}.tabs button.active{color:#0877c9;background:#fff;border-bottom-color:#fff;font-weight:700}.selection{background:#e8f3fc;border:1px solid #b8d8f0;align-items:center;gap:8px;padding:10px 14px;display:flex}.table-card{border:1px solid var(--line);background:#fff;border-radius:0 8px 8px;overflow:auto;box-shadow:0 2px 8px #173a5d12}.offers-table{max-height:calc(100vh - 190px)}table,.data-grid{border-collapse:separate;border-spacing:0;white-space:nowrap;table-layout:auto;font-size:13px}.data-grid-wrap{min-width:100%}th{z-index:2;text-align:left;color:#40566e;letter-spacing:.02em;background:linear-gradient(#f9fbfd,#edf2f7);font-size:12px;position:sticky;top:0;overflow:visible}td{text-overflow:ellipsis;position:relative;overflow:hidden}th,td{border-bottom:1px solid #dbe3ec;border-right:1px solid #e0e7ef;padding:10px 12px}th:last-child,td:last-child{border-right:0}.check-col,th.check-col,td.check-col{text-align:center;vertical-align:middle;width:40px!important;min-width:40px!important;max-width:40px!important;padding:0!important}.check-col .th-inner{justify-content:center;min-height:32px;padding:0}.check-col input[type=checkbox],tbody tr.done .check-col input[type=checkbox],tbody tr.processed .check-col input[type=checkbox],tbody tr.pending .check-col input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;vertical-align:middle;accent-color:#0877c9;flex:0 0 14px;display:inline-block;opacity:1!important;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;margin:0 auto!important;padding:0!important;transform:scale(1)!important}.link-cell{color:#0878cf;font-weight:600}tbody tr:hover{background:#f2f8fd}.clickable,tbody tr{cursor:pointer}.offers-table tbody tr.processed{color:#455365;background:#dfe3e8}.offers-table tbody tr.pending{background:#fff}.offers-table tbody tr.pending:hover{background:#e8f3fc}.offers-table tbody tr.processed:hover{background:#d1d6dc}.mono{font-family:SFMono-Regular,Consolas,monospace}.status-cell{justify-content:center;align-items:center;width:100%;min-height:24px;display:flex}.status{box-sizing:border-box;text-align:center;white-space:nowrap;color:#0867a9;background:#e8f3fc;border-radius:99px;justify-content:center;align-items:center;max-width:100%;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.25;display:inline-flex}.status-draft{color:#3f4b5a;background:#d9dde3}.status-submitted{color:#1a5fad;background:#dcebff}.status-costing{color:#a85a00;background:#ffe8cc}.status-pending-approval{color:#7a3db8;background:#f3e8ff}.status-waiting-feedback{color:#8a5700;background:#fff1c2}.offer-result-cell{text-align:center;margin:-10px -12px;padding:10px 12px;font-weight:700}.offer-result-cell.accepted{color:#fff;background:#239b56}.offer-result-cell.rejected{color:#fff;background:#d9363e}.status-default{color:#1b7a45;background:#d9f5e3}.status-rejected{color:#b42318;background:#fde8e6}.tabs-row{align-items:center;gap:10px;min-height:38px;display:flex}.selection-badge{color:#0b5f9a;background:#e8f3fc;border:1px solid #b8d8f0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.offer-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.toolbar-action{color:#7a8796;background:#e8ecf0;border-color:#d2dae3;font-weight:600}.toolbar-action:disabled{color:#8d99a8;cursor:not-allowed;opacity:1;background:#e8ecf0;border-color:#d2dae3}.toolbar-action:not(:disabled){color:#fff;background:#0877c9;border-color:#0877c9}.offer-toolbar .button:disabled,.quote-form footer .button:disabled{color:#8d99a8;cursor:not-allowed;opacity:1;background:#e8ecf0;border-color:#d2dae3}.offer-log-modal small{color:var(--blue);font-weight:700}.offer-log-modal h2{margin:4px 0 0}.offer-log-list{gap:12px;max-height:60vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.offer-log-list li{background:#fbfcfe;border:1px solid #dbe3ec;border-radius:8px;padding:12px 14px}.offer-log-list div{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.offer-log-list small{color:#718196;font-weight:400}.offer-log-list .log-action{color:#0877c9;margin-bottom:4px;font-size:12px;font-weight:700;display:inline-block}.offer-log-list p{color:#31465d;margin:0;line-height:1.5}.th-inner{align-items:center;gap:4px;min-width:0;min-height:18px;padding-right:12px;display:flex}.th-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.col-filter-btn{color:#8a9bb0;background:0 0;border:0;border-radius:3px;flex:none;padding:0 2px;font-size:11px;line-height:1}.col-filter-btn:hover,.col-filter-btn.active{color:var(--blue);background:#e7f3fc}th.filtered .th-label{color:var(--blue);font-weight:700}th.filtered .col-filter-btn:after{content:"";background:var(--blue);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:2px;display:inline-block}.col-resize{cursor:col-resize;z-index:6;touch-action:none;-webkit-user-select:none;user-select:none;width:10px;height:100%;position:absolute;top:0;right:0}.col-resize:after{content:"";background:0 0;border-radius:1px;width:2px;position:absolute;top:20%;bottom:20%;left:4px}.col-resize:hover:after,.col-resize:active:after,body.col-resizing .col-resize:active:after{background:#0878cf88}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.col-filter-popover{background:#fff;border:1px solid #c9d6e4;border-radius:8px;gap:8px;padding:10px;display:grid;box-shadow:0 12px 32px #0b294340}.filter-active-bar{color:#0b5f9a;background:#e8f3fc;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:flex}.filter-search{width:100%;min-width:0;padding:7px 9px}.filter-options{border:1px solid #e2e8ef;border-radius:6px;max-height:220px;overflow:auto}.filter-option{color:#24384f;align-items:center;gap:8px;margin:0;padding:7px 9px;font-size:13px;display:flex}.filter-option.master{border-bottom:1px solid #e7edf3;font-weight:600}.filter-option input{width:14px;min-width:0;height:14px}.col-filter-popover footer{justify-content:flex-end;gap:8px;margin:0;display:flex}.card{background:#fff;border:1px solid #dbe2e9;border-radius:9px;margin-bottom:18px;padding:20px}.card h2{margin:0 0 14px;font-size:18px}.alert,.success{border-radius:7px;margin-bottom:14px;padding:11px 14px}.alert{color:#a10f0f;background:#fff0ef;border:1px solid #f2b7b1}.success{color:#17663a;background:#edf9f2;border:1px solid #a8dabb}.requirements{background:#f6f9fc;border-left:4px solid #318ac8;margin-bottom:18px;padding:13px 17px}.requirements ul{color:#4f6174;margin:8px 0 0;padding-left:20px;line-height:1.8}.import-form{flex-wrap:wrap;align-items:end;gap:14px;display:flex}label{color:#42566d;gap:6px;font-size:14px;display:grid}input,select,textarea{background:#fff;border:1px solid #bdc9d5;border-radius:6px;min-width:180px;padding:9px 10px}input[type=checkbox],input[type=radio]{accent-color:#0877c9;width:14px;min-width:0;height:14px;padding:0}.modal{z-index:50;background:#081c32a8;place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:10px;width:520px;max-height:90vh;padding:20px;overflow:auto;box-shadow:0 20px 60px #0004}.modal-card.wide{width:min(900px,90vw)}.modal-card header,.modal-card footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.modal-card header h2{margin:0 0 16px}.modal-card label{margin:10px 0}.modal-card footer{justify-content:flex-end;margin-top:20px}.form-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.complaint-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.complaint-page{box-sizing:border-box;width:100%}.complaint-no{font-variant-numeric:tabular-nums;letter-spacing:.2px}.complaint-toolbar,.complaint-dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.complaint-toolbar{margin-left:4px}.complaint-dialog-actions{flex-shrink:0;margin-left:auto}.complaint-form>header{align-items:flex-start}.complaint-form>header h2{flex:1;margin:0}.toolbar-action.danger:not(:disabled){color:#fff;background:#b42318;border-color:#b42318}.complaint-form fieldset{border:0;min-width:0;margin:0;padding:0}.complaint-form fieldset:disabled input,.complaint-form fieldset:disabled select,.complaint-form fieldset:disabled textarea{color:#27384a;opacity:1;background:#f4f7fa}.complaint-filters input{width:320px}.complaint-filters>span{color:#6b7785;margin-left:auto}.link-cell{color:#0877c9;cursor:pointer;font-weight:600}.complaint-priority{background:#edf1f5;border-radius:12px;padding:3px 9px}.complaint-priority.high{color:#b85c00;background:#fff1dc}.complaint-priority.urgent{color:#c62828;background:#fde6e6}.complaint-status-badge{white-space:nowrap;border:1px solid #0000;border-radius:7px;padding:4px 9px;font-weight:700;display:inline-block}.complaint-status-badge.draft{color:#536170;background:#edf1f5;border-color:#d5dce3}.complaint-status-badge.pending_create{color:#9a5b00;background:#fff2d8;border-color:#f3d18c}.complaint-status-badge.open{color:#08714f;background:#e0f5eb;border-color:#9ed9c3}.complaint-status-badge.pending_close{color:#7355a3;background:#f1eafa;border-color:#cdb7e8}.complaint-status-badge.closed{color:#315f8d;background:#e7f1fa;border-color:#afd0eb}.complaint-form .span-2{grid-column:span 2}.complaint-form .span-3{grid-column:1/-1}.complaint-form textarea{resize:vertical}.complaint-attachments{border-top:1px solid #e4e9ef;margin-top:18px;padding-top:12px}.complaint-attachments h3{margin:0 0 10px;font-size:15px}.complaint-attachments p{color:#7a8796}.footer-spacer{flex:1}.feedback-section{gap:10px;display:grid}.feedback-title,.feedback-item>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.feedback-title button,.feedback-item button{padding:5px 9px}.feedback-item{gap:5px;display:grid}.feedback-item span{color:#52677f;font-size:13px}.feedback-note-label{color:#6b7f8e;gap:4px;font-size:12px;font-weight:500;display:grid}.feedback-note-label textarea{resize:vertical;width:100%;min-height:64px;color:var(--color-input-text,#1a2a3a);background:var(--color-input-bg,#fff);border:1px solid #d8e4e9;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.5}.feedback-note-label textarea:focus{border-color:#0877c9;outline:none}.feedback-note-label textarea:disabled{color:#9aa8b5;cursor:not-allowed;background:#f4f6f8}.detail-row{grid-template-columns:30px 2fr 2fr 1fr 42px;align-items:center;gap:8px;margin:8px 0;display:grid}.detail-row input{min-width:0}.link-button{color:#0877c9;background:0 0;border:0;padding-left:0}.login-page{background:radial-gradient(circle at 20% 15%,#d7eaff,#0000 35%),linear-gradient(135deg,#eef5fb,#dce8f2);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:14px;justify-items:center;gap:16px;width:390px;padding:36px;display:grid;box-shadow:0 20px 60px #13375b28}.login-card img{object-fit:contain;width:192px;height:192px}.login-card p{color:#65809b;text-align:center;margin:0}.login-card h1{color:#0a3c68;text-align:center;margin:-4px 0 8px;font-size:26px;font-weight:700}.login-card label,.login-card input,.login-card .button{width:100%}.login-divider{color:#94a7b8;align-items:center;gap:12px;width:100%;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#dce4ec;flex:1;height:1px}.wecom-diagnostic-backdrop{z-index:10000;background:#102a4380;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.wecom-diagnostic{background:#fff;border-radius:14px;width:min(560px,100%);padding:24px;box-shadow:0 24px 80px #071b2f55}.wecom-diagnostic h2{color:#0a3c68;margin:0 0 10px}.wecom-diagnostic p{color:#50677c;margin:0 0 10px}.wecom-diagnostic pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#20384d;background:#f3f6f9;border-radius:8px;max-height:45vh;margin:0 0 18px;padding:14px;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.wecom-diagnostic .button{width:100%}.wecom-button{justify-content:center;align-items:center;gap:8px;font-weight:500;color:#0a3c68!important;background:#fff!important;border:1px solid #c8d6e0!important;display:flex!important}.wecom-button:hover{color:#2dab55!important;background:#f0f7ee!important;border-color:#2dab55!important}.wecom-icon{color:#2dab55;flex-shrink:0}.empty,.loading{text-align:center;color:#77899a;padding:30px}.actions{gap:6px;display:flex}.section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-head h2{margin:0}.detail-summary{align-items:center;gap:35px;display:flex}.detail-summary div{gap:5px;display:grid}.detail-summary small{color:#718196}.access-list>div{border-bottom:1px solid #e7ebef;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.access-list span{display:grid}.access-list small{color:#718196}.settings-tabs{margin-bottom:0}.settings-tabs .stats{margin:0}.settings-table{max-height:calc(100vh - 170px)}.settings-workspace{border:1px solid var(--line);background:#fff;border-radius:0 8px 8px;grid-template-columns:208px minmax(0,1fr);min-height:calc(100vh - 155px);display:grid;overflow:hidden;box-shadow:0 2px 8px #173a5d12}.settings-master{border-right:1px solid var(--line);background:#fbfcfe;min-width:0;overflow:auto}.settings-master-title{border-bottom:1px solid var(--line);background:#fff;align-items:center;min-height:66px;padding:12px 16px;display:flex}.settings-master-title div,.settings-master button>span{text-align:left;gap:3px;min-width:0;display:grid}.settings-master-title small,.settings-master button small{color:#77889b;font-size:12px;font-weight:400}.settings-master>button,.settings-master section>button{color:#294158;background:0 0;border:0;border-bottom:1px solid #edf1f5;border-radius:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 16px;display:flex}.settings-master button:hover{background:#f0f6fb}.settings-master button.active{color:var(--blue);box-shadow:inset 3px 0 var(--blue);background:#eaf4fc}.settings-master button em{color:#74879b;font-size:12px;font-style:normal}.settings-master .department-node{font-weight:700}.settings-master .position-node{min-height:38px;padding-left:34px;font-size:13px}.settings-detail{flex-direction:column;min-width:0;display:flex;overflow:hidden}.settings-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:12px 18px;display:flex}.settings-detail-header h2{margin:0 0 4px;font-size:18px}.settings-detail-header p{color:#6f8092;margin:0;font-size:12px}.settings-search{color:#6f8092;gap:4px;min-width:300px;font-size:11px;display:grid}.settings-search input{height:34px}.settings-data-table{flex:1;min-height:0;overflow:auto}.settings-data-table table{table-layout:auto;width:100%;min-width:900px}.settings-data-table th:first-child{min-width:88px}.settings-data-table th:nth-child(2){min-width:90px}.settings-data-table th:nth-child(3){min-width:72px}.settings-data-table th:nth-child(4){min-width:76px}.settings-data-table th:nth-child(5){min-width:116px}.settings-data-table th:nth-child(6){min-width:52px}.settings-data-table th:nth-child(7){min-width:190px}.settings-data-table .actions{flex-wrap:nowrap;gap:4px}.settings-data-table th{z-index:1;position:sticky;top:0}.settings-data-table th:last-child,.settings-data-table td:last-child{background:#fff;position:sticky;right:0;box-shadow:-5px 0 8px #173a5d0d}.settings-data-table th:last-child{z-index:3;background:linear-gradient(#f9fbfd,#edf2f7)}.settings-data-table td:last-child{z-index:2;overflow:visible}.settings-data-table td>b,.settings-data-table td>small{display:block}.settings-data-table td>small{color:#77889b;margin-top:3px}.row-actions-menu{position:relative}.row-actions-menu summary{color:#294158;cursor:pointer;text-align:center;background:#fff;border:1px solid #cfd8e2;border-radius:5px;min-width:48px;padding:6px 9px;list-style:none}.row-actions-menu summary::-webkit-details-marker{display:none}.row-actions-menu[open]>div{z-index:4;background:#fff;border:1px solid #d5dee7;border-radius:6px;gap:5px;width:86px;padding:6px;display:grid;position:fixed;box-shadow:0 8px 22px #173a5d24}.settings-empty{color:#7d8c9b;text-align:center;padding:42px!important}.role-chip{color:#175c92;background:#edf6fc;border:1px solid #cfe3f2;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.role-browser button{min-height:56px}.permission-detail{position:relative}.permission-domain-tabs{grid-template-columns:repeat(2,minmax(0,260px));gap:8px;padding:14px 18px 0;display:grid}.permission-domain-tabs button{text-align:left;background:#f7f9fb;border-color:#dce4eb;grid-template-columns:1fr auto;gap:3px 12px;padding:11px 14px;display:grid}.permission-domain-tabs button.active{color:#075fa7;box-shadow:inset 0 -2px var(--blue);background:#eef7fd;border-color:#80b8dc}.permission-domain-tabs button small{color:#748497;grid-column:1/-1;font-size:11px}.permission-explanation{color:#536b80;background:#f4f7fa;border-left:3px solid #71a9d1;gap:10px;margin:12px 18px;padding:9px 12px;font-size:12px;display:flex}.permission-inline-list{flex:1;min-height:0;padding:0 18px 18px;overflow:auto}.permission-inline-list section{border-bottom:1px solid var(--line)}.permission-inline-list h3{color:#284c69;background:#f7f9fb;justify-content:space-between;align-items:center;margin:0;padding:10px 12px;font-size:13px;display:flex}.permission-inline-list h3 small{color:#718397;font-weight:400}.permission-inline-row{border-top:1px solid #edf1f4;grid-template-columns:minmax(260px,1fr) 120px 120px;align-items:center;gap:14px;min-height:54px;padding:8px 12px;display:grid}.permission-inline-row>span{gap:3px;display:grid}.permission-inline-row small{color:#75879a}.permission-inline-row em{color:#8a5a00;font-size:11px;font-style:normal}.permission-savebar{color:#637689;border-top:1px solid var(--line);background:#f7f9fb;justify-content:space-between;align-items:center;gap:18px;padding:12px 18px;font-size:12px;display:flex}.permission-savebar div{gap:8px;display:flex}.permission-maintenance{color:#65778a;margin:0 18px 16px;font-size:12px}.permission-maintenance summary{cursor:pointer}.permission-maintenance .actions{margin-top:8px}@media (width<=1050px){.settings-workspace{grid-template-columns:184px minmax(0,1fr)}.settings-detail-header{flex-direction:column;align-items:stretch;gap:8px}.settings-search{min-width:0}.permission-inline-row{grid-template-columns:minmax(220px,1fr) 105px}.permission-inline-row>em{grid-column:1/-1}}.member-status{font-weight:700}.member-status.active{color:#16834b}.member-status.inactive{color:#b42318}.online-indicator{flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;display:inline-flex}.online-indicator .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.online-yes .dot{background:#16834b;box-shadow:0 0 4px #16834b88}.online-yes{color:#16834b;font-weight:600}.online-yes small{width:100%;color:var(--text-secondary,#666);flex-basis:100%;font-weight:400;display:block}.online-no .dot{background:#b0b8c4}.online-no{color:#8a94a6}.btn-enable{font-weight:600;color:#b42318!important}.permission-modal{width:min(980px,92vw)}.permission-modal header h2{margin:3px 0 0}.permission-modal header small{color:var(--blue);font-weight:700}.permission-help{color:#52677f;background:#f3f7fb;border-radius:6px;margin:12px 0;padding:9px 12px}.permission-group{border:1px solid #dce5ee;border-radius:8px;margin-top:14px;overflow:hidden}.permission-group h3{color:#174c78;background:#edf5fb;margin:0;padding:9px 12px;font-size:14px}.permission-row{border-top:1px solid #e6ecf2;grid-template-columns:minmax(260px,1fr) 70px 210px 70px;align-items:center;gap:12px;min-height:58px;padding:9px 12px;display:grid}.permission-row>span{white-space:normal;gap:3px;display:grid}.permission-row small{color:#718196}.permission-row em{color:#8a5a00;font-size:12px;font-style:normal}.permission-row select{width:100%;min-width:0}.permission-row strong{color:#8997a7;font-size:12px}.permission-row strong.enabled{color:#16834b}.permission-switch{grid-template-columns:none;align-items:center;gap:8px;display:flex}.check{grid-template-columns:auto 1fr;align-items:center;display:flex}.check input{min-width:0}.drawer-backdrop{z-index:40;background:#071c3266;position:fixed;inset:0}.drawer{background:#f7f9fb;width:min(650px,90vw);padding:22px;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-12px 0 35px #0b294333}.drawer>header{justify-content:space-between;align-items:start;display:flex}.drawer h2{margin:4px 0 18px}.drawer .tabs{margin-bottom:16px}.drawer .detail-summary{background:#fff;border:1px solid #dbe2e9;border-radius:8px;margin-bottom:14px;padding:16px}.stack-form{background:#fff;border:1px solid #dbe2e9;border-radius:8px;gap:10px;margin-top:14px;padding:16px;display:grid}.stack-form input,.stack-form textarea{width:100%}.cost-box{border-left:4px solid #318ac8}.cost-box h3{margin:0}.detail-list article{background:#fff;border:1px solid #dbe2e9;border-radius:8px;gap:6px;margin-bottom:10px;padding:14px;display:grid}.detail-list span{color:#617288}.quote-modal{background:#061b32b8;padding:7px}.quote-form{border:1px solid #b8c8d9;width:min(1280px,100vw - 14px);max-height:calc(100vh - 14px);padding:12px 16px 16px}.quote-form-header small{color:var(--blue);font-weight:700}.quote-form-header h2{font-size:21px;margin:2px 0 8px!important}.close-button{background:0 0;border:0;align-self:start;font-size:22px}.quote-form fieldset{border:1px solid #cbd8e6;border-radius:9px;margin:0 0 10px;padding:8px 10px 10px}.quote-form legend{color:#0878cf;padding:0 9px;font-weight:700}.quote-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px;display:grid}.quote-grid label,.product-grid label,.spec-grid label,.price-row label{color:#27384a;align-content:start;gap:3px;min-width:0;margin:0;font-size:12px;font-weight:600;display:grid}.field-title{white-space:nowrap;align-items:center;gap:3px;min-height:16px;display:inline-flex}.quote-grid input,.quote-grid select,.quote-grid textarea,.product-grid input,.product-grid select,.spec-grid input,.spec-grid select,.price-row input{width:100%;min-width:0;height:34px;padding:6px 8px}.quote-grid input:disabled,.quote-grid select:disabled,.quote-grid textarea:disabled,.product-grid input:disabled,.product-grid select:disabled,.spec-grid input:disabled,.spec-grid select:disabled,.price-row input:disabled{color:#738297;cursor:not-allowed;background:#eef1f4}.quote-grid i,.product-grid i,.spec-grid i,.price-row i{color:#d92d20;font-style:normal}.quote-grid .span-2,.product-grid .span-2{grid-column:span 2}.product-grid .span-3{grid-column:span 3}.product-grid .span-6{grid-column:span 6}.compact-note textarea{resize:none;height:40px;min-height:40px;max-height:40px;overflow-y:auto}.offer-attachment-field{align-content:start;gap:3px;min-width:0;display:grid}.offer-attachment-field .field-label{color:#27384a;font-size:12px;font-weight:600}.locked{color:#8190a2;background:#eef1f5}.detail-heading{color:#687a8d;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px;display:flex}.product-card{background:#fbfcfe;border:1px solid #d4dfeb;border-radius:8px;grid-template-columns:24px minmax(0,1fr);gap:6px;margin-top:6px;padding:9px 36px 9px 7px;display:grid;position:relative}.product-index{color:#0878cf;text-align:center;align-self:center;font-size:17px}.product-grid{grid-template-columns:repeat(6,minmax(105px,1fr));gap:6px 8px;min-width:0;display:grid}.spec-section{border-top:1px dashed #c6d5e4;grid-column:2;margin-top:2px;padding-top:6px}.spec-section h4{color:#075b9c;margin:0 0 5px}.spec-grid{grid-template-columns:repeat(6,minmax(105px,1fr));gap:6px 8px;display:grid}.unit-input{display:block;position:relative}.unit-input input{padding-right:38px}.unit-input em{color:#73859a;font-style:normal;font-weight:400;position:absolute;top:9px;right:10px}.remove-product{color:#9aacbd;background:0 0;border:0;font-size:20px;position:absolute;top:7px;right:7px}.price-section{background:#f8fafc}.price-row{border-bottom:1px dashed #d7e0e9;grid-template-columns:minmax(90px,.75fr) repeat(2,minmax(95px,.675fr)) minmax(82px,.65fr) minmax(82px,.65fr) minmax(120px,1fr);align-items:start;gap:6px;padding:5px 0;display:grid}.price-row:last-child{border-bottom:0}.price-row.without-bom{grid-template-columns:minmax(90px,.75fr) minmax(82px,.65fr) minmax(120px,1fr)}.price-row.without-internal-bom,.price-row.without-customer-bom{grid-template-columns:minmax(90px,.75fr) minmax(95px,.675fr) minmax(82px,.65fr) minmax(82px,.65fr) minmax(120px,1fr)}.price-row.without-cost{grid-template-columns:minmax(90px,.75fr) repeat(2,minmax(95px,.675fr)) minmax(82px,.65fr) minmax(120px,1fr)}.price-row.without-cost.without-internal-bom,.price-row.without-cost.without-customer-bom{grid-template-columns:minmax(90px,.75fr) minmax(95px,.675fr) minmax(82px,.65fr) minmax(120px,1fr)}.price-row.without-cost.without-bom{grid-template-columns:minmax(90px,.75fr) minmax(82px,.65fr) minmax(120px,1fr)}.price-note input{width:100%}.price-bom .file-upload-panel{flex-wrap:nowrap;gap:4px}.price-bom .file-upload-dropzone{border-radius:6px;flex-basis:0;min-height:34px;padding:2px}.price-bom .file-upload-hint{white-space:nowrap;padding:6px 3px;font-size:11px}.price-bom .file-upload-btn{justify-content:center;width:58px;height:28px;padding:5px 7px;font-size:11px}.price-bom .file-card-list{gap:3px}.price-bom .file-card{border-radius:5px;gap:1px;width:44px;height:34px;padding:2px}.price-bom .file-card-icon{width:16px;height:16px}.price-bom .file-card-name{font-size:9px}.price-bom .file-card-ext{display:none}.quote-form footer{background:#fff;border-top:1px solid #d8e1ea;margin:8px -16px -16px;padding:10px 16px;position:sticky;bottom:-16px}.quote-form-actions{flex-wrap:wrap;gap:8px;margin-right:auto;display:flex}.upload-busy-notice{color:#8a5300;background:#fff5e0;border:1px solid #f0d093;border-radius:7px;margin:0 0 6px;padding:7px 10px;font-size:13px;font-weight:600}.upload-failed-list{color:#b42318;margin:-8px 0 18px;padding-left:20px;font-size:14px}.confirm-backdrop{z-index:60;background:#061b3280;place-items:center;display:grid;position:fixed;inset:0}.confirm-card{background:#fff;border-radius:10px;width:min(380px,90vw);padding:22px 24px;box-shadow:0 16px 40px #0004}.confirm-card p{color:#20354e;margin:0 0 18px;font-size:16px;font-weight:600}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}@media (width<=1200px){.form-grid{grid-template-columns:repeat(2,1fr)}.quote-grid,.product-grid,.spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid .span-2{grid-column:span 2}.product-grid .span-6{grid-column:span 3}}@media (width<=800px){.quote-grid,.product-grid,.spec-grid,.price-row,.price-row.without-bom,.price-row.without-internal-bom,.price-row.without-customer-bom,.price-row.without-cost,.price-row.without-cost.without-internal-bom,.price-row.without-cost.without-customer-bom,.price-row.without-cost.without-bom{grid-template-columns:minmax(0,1fr)}.quote-grid .span-2,.product-grid .span-2,.product-grid .span-6{grid-column:span 1}.product-card{grid-template-columns:1fr;padding-left:9px}.product-index{text-align:left}.spec-section{grid-column:1}}.material-search{margin-bottom:1px;padding:1px 8px 0}.search-main{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.search-main label{flex:170px}.search-main input{width:100%;min-width:150px}.search-buttons{align-items:center;gap:8px;padding-bottom:0;display:flex}.material-summary{color:#61758b;margin:0 0 8px 2px;font-size:13px}.material-table{border-radius:8px;max-height:calc(100vh - 270px)}.material-table th,.material-table td{padding:8px 10px}.material-table .spec-cell{text-overflow:ellipsis;max-width:360px;overflow:hidden}.erp-bom-table td{white-space:nowrap}.erp-bom-table .spec-cell{max-width:280px}.bom-root-table table{min-width:1250px}.bom-root-table td{white-space:nowrap}.bom-status{color:#137333;background:#e7f5eb;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.bom-status.inactive{color:#9b1c1c;background:#feecec}.product-type{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.product-type.finished{color:#1a56db;background:#e8f0fe}.product-type.semi{color:#b45309;background:#fef3c7}.bom-tree-header{grid-template-columns:repeat(5,minmax(180px,1fr)) auto;align-items:center;gap:18px;margin-bottom:12px;padding:14px 16px;display:grid}.bom-tree-header>div{gap:4px;min-width:0;display:grid}.bom-tree-header small{color:#6b7e92}.bom-tree-header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bom-tree-actions{grid-auto-flow:column;gap:8px!important;display:flex!important}.bom-tree-table{max-height:calc(100vh - 245px)}.bom-tree-table table{min-width:1750px}.bom-tree-table td{white-space:nowrap}.bom-tree-table tbody tr.bom-root-node td{background:#e8f3fc;font-weight:700}.bom-tree-table tbody tr.bom-assembly-node td{background:#f4f9fd}.bom-tree-table tbody tr.bom-cycle-node td{color:#a11b1b;background:#fff0f0}.tree-indent{padding-left:calc(var(--level) * 22px);align-items:center;gap:7px;min-width:230px;display:inline-flex}.tree-toggle{color:#0877c9;background:#fff;border:1px solid #9bc6e5;border-radius:4px;width:22px;height:22px;padding:0;font-weight:800;line-height:18px}.tree-toggle.static{background:0 0;border-color:#0000;place-items:center;display:inline-grid}.tree-indent em{color:#fff;background:#b42318;border-radius:4px;padding:2px 6px;font-size:11px;font-style:normal}.bom-tree-table .cumulative{color:#0877c9;font-weight:700}.arrival-legend{align-items:center;gap:10px;margin:0 0 6px;display:flex}.arrival-legend button,.arrival-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}.arrival-legend .overdue,.arrival-overdue .arrival-status{color:#fff;background:#b91c1c}.arrival-legend .due-soon-3,.arrival-due-soon-3 .arrival-status{color:#fff;background:#dc2626}.arrival-legend .due-soon-7,.arrival-due-soon-7 .arrival-status{color:#fff;background:#ea580c}.arrival-legend .due-soon-15,.arrival-due-soon-15 .arrival-status{color:#fff;background:#d97706}.arrival-legend .suspect-date,.arrival-suspect-date .arrival-status{color:#fff;background:#7c3aed}.arrival-legend .missing-date,.arrival-missing-date .arrival-status{color:#422006;background:#f59e0b}.arrival-legend .normal{color:#fff;background:#16a34a}.arrival-legend button{cursor:pointer;opacity:.76;box-shadow:none}.arrival-legend button:hover{opacity:1;transform:translateY(-1px)}.arrival-legend button.active{opacity:1;outline-offset:2px;outline:3px solid #93c5fd}.arrival-normal .arrival-status{color:#374151;background:#e5e7eb}.purchase-arrival-table tr.arrival-overdue td{background:#fee2e2}.purchase-arrival-table tr.arrival-due-soon-3 td{background:#fef2f2}.purchase-arrival-table tr.arrival-due-soon-7 td{background:#fff7ed}.purchase-arrival-table tr.arrival-due-soon-15 td{background:#fef3c7}.purchase-arrival-table tr.arrival-suspect-date td{background:#f3e8ff}.purchase-arrival-table tr.arrival-missing-date td{background:#fffbeb}.purchase-arrival-table tr.arrival-overdue:hover td,.purchase-arrival-table tr.arrival-due-soon-3:hover td,.purchase-arrival-table tr.arrival-due-soon-7:hover td,.purchase-arrival-table tr.arrival-due-soon-15:hover td,.purchase-arrival-table tr.arrival-suspect-date:hover td,.purchase-arrival-table tr.arrival-missing-date:hover td{filter:brightness(.97)}.closed-yes{color:#059669;font-weight:600}.closed-no{color:#6b7280}.purchase-arrival-table .data-grid-wrap{width:max-content;min-width:100%}.purchase-arrival-table .data-grid td{padding:9px 10px}.item-code-link{appearance:none;color:#0878cf;font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.item-code-link.multi-warehouse-stock{color:#dc2626}.movement-modal{width:min(1200px,94vw)}.movement-table{max-height:65vh;overflow:auto}.movement-table table{min-width:1050px}.movement-remark{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.available-qty-value{color:#dc2626;font-weight:600}.bom-table table{min-width:1200px}.number-cell{text-align:right;font-variant-numeric:tabular-nums}.subtotal-row{z-index:1;background:#f0f4fa;border-top:2px solid #0877c9;font-weight:700;position:sticky;bottom:0}.subtotal-row td{background:#f0f4fa}.subtotal-label{text-align:right;color:#0877c9;padding-right:12px}.subtotal-value{color:#d71920;font-size:1.05em}.stagnant-warning{color:#b54708;background:#fff4e5;font-weight:700}.pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:12px;display:flex}.pagination button{padding:6px 10px}.pagination button.active{color:#fff;background:#0877c9;border-color:#0877c9}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#687b90;margin-left:5px;font-size:13px}.pagination .page-jump{align-items:center;gap:4px;margin-left:8px;display:inline-flex}.pagination .page-jump input{text-align:center;border:1px solid #cbd5e1;border-radius:4px;width:56px;padding:5px 6px;font-size:13px}.pagination .page-jump input:focus{border-color:#0877c9;outline:none;box-shadow:0 0 0 2px #0877c926}.pagination .page-jump button{padding:5px 10px}.material-form .form-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.material-form input{width:100%;min-width:0}.substitution-search{align-items:end;gap:12px;padding:14px 16px;display:flex}.substitution-search label:first-child{min-width:340px}.substitution-search input,.substitution-search select{width:100%}.substitution-table{width:100%;min-width:1800px}.substitution-table table{table-layout:auto;white-space:normal}.substitution-table td{text-overflow:clip;overflow:visible}.substitution-form .form-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.substitution-form input,.substitution-form select,.substitution-form textarea{width:100%;min-width:0}.substitution-form .span-2{grid-column:span 2}.material-picker{position:relative}.material-picker small{color:#0877c9;font-weight:600}.material-options{z-index:70;background:#fff;border:1px solid #b9c9d9;border-radius:7px;max-height:240px;position:absolute;top:66px;left:0;right:0;overflow:auto;box-shadow:0 10px 28px #173a5d35}.material-options button{text-align:left;border:0;border-bottom:1px solid #e5ebf1;border-radius:0;grid-template-columns:120px 1fr auto;gap:10px;width:100%;padding:9px 11px;display:grid}.material-options button:hover{background:#edf6fd}.material-options b{color:#0877c9;font-family:Consolas,monospace}.material-options em{color:#678;white-space:nowrap;font-size:.9em;font-style:normal}.field-help{color:#687b90;font-size:12px;font-weight:400;line-height:1.5}@media (width<=1350px){.advanced-search{grid-template-columns:repeat(3,minmax(210px,1fr))}}.file-upload-panel{flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;min-width:0;display:flex}.file-upload-panel.disabled .file-upload-dropzone{background:#f7f9fc;border-color:#e2e8ef}.file-upload-dropzone{cursor:pointer;background:#f7fafc;border:1.5px dashed #9db4c9;border-radius:8px;flex:160px;min-width:0;min-height:52px;padding:8px;transition:border-color .15s,background .15s}.file-upload-panel.drag-over .file-upload-dropzone{background:#e8f3fc;border-color:#0877c9}.file-upload-hint{color:#8093a8;text-align:center;padding:7px 8px;font-size:12px;font-weight:400}.file-upload-btn{white-space:nowrap;color:#0877c9;cursor:pointer;background:#fff;border:1px solid #9cc3e3;border-radius:6px;flex:none;align-self:center;padding:8px 12px;font-weight:600;display:inline-flex}.file-upload-btn.disabled{color:#94a3b8;cursor:not-allowed;border-color:#d2dae3}.file-upload-error,.file-upload-limit{color:#a10f0f;flex:100%;margin:0;font-size:12px}.file-upload-limit{color:#687a8d}.file-card-list{flex-wrap:wrap;gap:8px;display:flex}.file-card{cursor:default;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d4dfeb;border-radius:8px;flex-direction:column;align-items:center;gap:4px;width:88px;height:88px;padding:8px 6px 6px;display:flex;position:relative;box-shadow:0 1px 2px #173a5d0d}.file-card.pending{opacity:.9}.file-card.error{background:#fff6f5;border-color:#f0b3ad}.file-card-icon{color:#0877c9;flex:none;width:32px;height:32px}.file-card-icon[data-kind=pdf]{color:#c0392b}.file-card-icon[data-kind=word]{color:#2b579a}.file-card-icon[data-kind=excel]{color:#1d6f42}.file-card-icon[data-kind=zip]{color:#b45309}.file-card-icon[data-kind=text],.file-card-icon[data-kind=generic]{color:#5b6f86}.file-card-icon svg{width:100%;height:100%;display:block}.file-card-meta{justify-items:center;gap:1px;width:100%;min-width:0;display:grid}.file-card-name{color:#24384f;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.file-card-ext{color:#718196;letter-spacing:.02em;font-size:10px}.file-card-remove{color:#5b6f86;background:#e8eef4;border:0;border-radius:50%;width:18px;height:18px;padding:0;font-size:14px;line-height:1;position:absolute;top:2px;right:2px}.file-card-remove:hover{color:#b42318;background:#fde8e6}.file-card-progress{background:#0877c9;border-radius:0 0 8px 8px;max-width:100%;height:3px;position:absolute;bottom:0;left:0}.file-preview-modal{z-index:80;background:#061b32cc;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.file-preview-dialog{background:#fff;border-radius:10px;flex-direction:column;width:min(960px,96vw);height:min(860px,92vh);display:flex;overflow:hidden;box-shadow:0 20px 60px #0005}.file-preview-header{background:#f8fafc;border-bottom:1px solid #d8e1ea;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.file-preview-header strong{text-overflow:ellipsis;white-space:nowrap;color:#20354e;min-width:0;overflow:hidden}.file-preview-actions{flex:none;align-items:center;gap:8px;display:flex}.file-preview-body{background:#eef2f6;flex:1;min-height:0;display:grid}.file-preview-frame{background:#fff;border:0;width:100%;height:100%}.file-preview-image{object-fit:contain;max-width:100%;max-height:100%;margin:auto}.file-preview-text{background:#fff;padding:16px;overflow:auto}.file-preview-text pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.file-preview-unsupported{text-align:center;color:#5b6f86;place-self:center;justify-items:center;gap:12px;display:grid}.alert-ok{color:#0b6b3a;background:#ecfdf3;border:1px solid #a6f4c5}.hint{color:#5b6f86;margin:10px 2px;font-size:13px}.table-scroll{max-height:calc(100vh - 300px);overflow:auto}.mrp-grid{border-collapse:collapse;white-space:nowrap;font-size:12.5px}.mrp-grid th,.mrp-grid td{border:1px solid #e3e8ef;padding:4px 8px}.mrp-grid thead th{z-index:1;background:#f5f7fb;position:sticky;top:0}.mrp-grid .num{text-align:right;font-variant-numeric:tabular-nums}.mrp-grid .day-col{color:#172033;min-width:46px}.mrp-grid .empty{text-align:center;color:#8a97a8;padding:20px}.mrp-grid .muted,.muted{color:#8a97a8}.mrp-grid .consult-date{color:#b54708}.quick-filter{gap:6px;display:inline-flex}.quick-filter input{width:110px}.search-toggles{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:10px;display:flex}.search-toggles label{align-items:center;gap:5px;font-size:13px;display:inline-flex}:root{--ops-ink:#14243a;--ops-muted:#66788f;--ops-soft:#f5f8fb;--ops-line:#dbe4ed;--ops-shadow:0 12px 34px #17324d12}.module-aps{--module-accent:#0787a7;--module-rgb:7, 135, 167;--module-soft:#e9f8fa}.module-mrp{--module-accent:#4263d9;--module-rgb:66, 99, 217;--module-soft:#eef1ff}.module-txerp{--module-accent:#0c8a73;--module-rgb:12, 138, 115;--module-soft:#eaf8f4}.module-aps .page,.module-mrp .page,.module-txerp .page{color:var(--ops-ink);background:radial-gradient(circle at 92% -8%, rgba(var(--module-rgb), .09), transparent 27rem), linear-gradient(145deg, #f9fbfd 0%, #f2f6fa 58%, #eef3f7 100%);padding:12px 30px 32px;position:relative}.module-aps .page:before,.module-mrp .page:before,.module-txerp .page:before{content:"";z-index:12;background:linear-gradient(90deg, var(--module-accent), rgba(var(--module-rgb), .18) 62%, transparent);pointer-events:none;height:3px;position:fixed;inset:0 0 auto 238px}.module-aps.collapsed .page:before,.module-mrp.collapsed .page:before,.module-txerp.collapsed .page:before{left:72px}.page-heading{border-bottom:1px solid rgba(var(--module-rgb), .15);min-height:0;margin-bottom:6px;padding:0 2px 6px}.page-heading-copy{gap:4px;display:grid}.page-title-line{align-items:baseline;gap:14px;min-width:0;display:flex}.page-query-context{border-left:1px solid rgba(var(--module-rgb), .22);align-items:baseline;gap:9px;min-width:0;padding-left:20px;display:flex}.page-query-context strong{color:#385069;flex:none;font-size:13px;font-weight:720}.page-query-context span{color:#77899c;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.page-heading h1{color:var(--ops-ink);letter-spacing:-.015em;font-size:18px;font-weight:700}.module-aps .card,.module-aps .table-card,.module-mrp .card,.module-mrp .table-card,.module-txerp .card,.module-txerp .table-card{border-color:var(--ops-line);box-shadow:var(--ops-shadow);border-radius:12px}.module-aps .card,.module-mrp .card,.module-txerp .card{padding:18px 20px}.module-aps .card h2,.module-mrp .card h2,.module-txerp .card h2{color:var(--ops-ink);letter-spacing:-.012em;font-size:17px}.module-aps .material-search,.module-mrp .material-search,.module-txerp .material-search,.module-aps .search-panel,.module-mrp .search-panel,.module-txerp .search-panel{border-top:3px solid rgba(var(--module-rgb), .75);background:linear-gradient(110deg, #fff, rgba(var(--module-rgb), .025))}.module-aps input,.module-aps select,.module-aps textarea,.module-mrp input,.module-mrp select,.module-mrp textarea,.module-txerp input,.module-txerp select,.module-txerp textarea{color:#24364c;border-color:#cbd7e3;border-radius:7px;transition:border-color .16s,box-shadow .16s,background .16s}.module-aps input:hover,.module-aps select:hover,.module-aps textarea:hover,.module-mrp input:hover,.module-mrp select:hover,.module-mrp textarea:hover,.module-txerp input:hover,.module-txerp select:hover,.module-txerp textarea:hover{border-color:rgba(var(--module-rgb), .48)}.module-aps input:focus,.module-aps select:focus,.module-aps textarea:focus,.module-mrp input:focus,.module-mrp select:focus,.module-mrp textarea:focus,.module-txerp input:focus,.module-txerp select:focus,.module-txerp textarea:focus{border-color:var(--module-accent);box-shadow:0 0 0 3px rgba(var(--module-rgb), .12);outline:none}.module-aps button,.module-mrp button,.module-txerp button,.module-aps .button,.module-mrp .button,.module-txerp .button{border-radius:7px;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s}.module-aps button:not(:disabled):hover,.module-mrp button:not(:disabled):hover,.module-txerp button:not(:disabled):hover,.module-aps .button:hover,.module-mrp .button:hover,.module-txerp .button:hover{transform:translateY(-1px);box-shadow:0 5px 14px #142d481a}.module-aps .button,.module-mrp .button,.module-txerp .button,.module-aps .toolbar-action:not(:disabled),.module-mrp .toolbar-action:not(:disabled),.module-txerp .toolbar-action:not(:disabled){border-color:var(--module-accent);background:var(--module-accent)}.module-aps .button.secondary,.module-mrp .button.secondary,.module-txerp .button.secondary{color:var(--module-accent);background:#fff}.module-aps th,.module-mrp th,.module-txerp th{color:#455b72;letter-spacing:.025em;background:linear-gradient(#fbfcfd,#f1f5f8);border-bottom-color:#cfdbe6;font-weight:700}.module-aps td,.module-mrp td,.module-txerp td{border-bottom-color:#e3e9ef;border-right-color:#e8edf2}.module-aps tbody tr,.module-mrp tbody tr,.module-txerp tbody tr{transition:background .12s,box-shadow .12s}.module-aps tbody tr:hover,.module-mrp tbody tr:hover,.module-txerp tbody tr:hover{background:rgba(var(--module-rgb), .055);box-shadow:inset 3px 0 var(--module-accent)}.module-aps .link-cell,.module-mrp .link-cell,.module-txerp .link-cell,.module-aps .link-button,.module-mrp .link-button,.module-txerp .link-button{color:var(--module-accent)}.module-aps .tabs,.module-mrp .tabs,.module-txerp .tabs{border:1px solid var(--ops-line);background:#ffffffb8;border-radius:10px;gap:6px;width:fit-content;padding:4px}.module-aps .tabs button,.module-mrp .tabs button,.module-txerp .tabs button{background:0 0;border:0;border-radius:7px}.module-aps .tabs button.active,.module-mrp .tabs button.active,.module-txerp .tabs button.active{color:var(--module-accent);background:var(--module-soft);box-shadow:0 2px 8px rgba(var(--module-rgb), .1)}.module-aps .stats,.module-mrp .stats,.module-txerp .stats,.module-aps .hint,.module-mrp .hint,.module-txerp .hint{color:var(--ops-muted)}.module-aps .selection,.module-mrp .selection,.module-txerp .selection,.module-aps .filter-active-bar,.module-mrp .filter-active-bar,.module-txerp .filter-active-bar{color:var(--module-accent);border-color:rgba(var(--module-rgb), .22);background:var(--module-soft)}.module-aps .status,.module-mrp .status,.module-txerp .status,.module-aps .selection-badge,.module-mrp .selection-badge,.module-txerp .selection-badge{border:1px solid rgba(var(--module-rgb), .15);color:var(--module-accent);background:var(--module-soft)}.module-aps .mrp-grid,.module-mrp .mrp-grid,.module-txerp .mrp-grid{border-collapse:separate;border-spacing:0;background:#fff}.module-aps .mrp-grid th,.module-aps .mrp-grid td,.module-mrp .mrp-grid th,.module-mrp .mrp-grid td,.module-txerp .mrp-grid th,.module-txerp .mrp-grid td{border-color:#e2e9f0;padding:7px 9px}.module-aps .mrp-grid thead th,.module-mrp .mrp-grid thead th,.module-txerp .mrp-grid thead th{background:linear-gradient(#fbfcfd,#eff4f7)}.module-aps .modal,.module-mrp .modal,.module-txerp .modal,.module-aps .drawer-backdrop,.module-mrp .drawer-backdrop,.module-txerp .drawer-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.module-aps .modal-card,.module-mrp .modal-card,.module-txerp .modal-card,.module-aps .drawer,.module-mrp .drawer,.module-txerp .drawer{border:1px solid rgba(var(--module-rgb), .16);border-radius:14px;box-shadow:0 24px 70px #071e3538}@media (width<=1280px){.module-aps .page,.module-mrp .page,.module-txerp .page{padding:22px 22px 44px}}.module-aps .page .concept-toolbar{border-color:rgba(var(--module-rgb), .18);border-radius:12px;padding:8px 16px;box-shadow:0 8px 24px #1531480e}.module-aps .page .order-calendar,.module-aps .page .exception-console{border-color:#d8e4eb;border-radius:13px;box-shadow:0 15px 34px #14304612}.module-aps .page .matrix-hint{color:#65778c;background:linear-gradient(90deg,#f9fbfc,#f1f8f9);padding:11px 15px}.module-aps .page .matrix-order-head{color:#173248;background:linear-gradient(145deg,#f4f7f9,#eaf0f4)}.module-aps .page .matrix-metric-head{color:#3b665c;background:linear-gradient(145deg,#e3f3ed,#d5e9df)}.module-aps .page .matrix-date-head{color:#23483f;background:linear-gradient(#e9f6f0,#dcefe5)}.module-aps .page .matrix-date-head.today{color:#134f55;background:linear-gradient(#caf0e8,#bde5db);box-shadow:inset 0 3px #0791a5}.module-aps .page .matrix-order{background:linear-gradient(110deg,#fff,#fbfcfd)}.module-aps .page .matrix-order:hover{background:#f6fbfc}.module-aps .page .matrix-metric{background:#edf7f2}.module-aps .page .assignment-column{background:#fff;border-right-color:#bfd5ca}.module-aps .page .assignment-column:hover{background:#f8fcfa}.module-aps .page .add-task-inline{color:#087d96;background:#e6f4f7}.module-aps .page .add-task-inline:hover:not(:disabled){background:#d3edf1}.module-aps .page .new-assignment{box-shadow:inset 0 0 0 2px #43a58f}.module-aps .page .completion.complete{color:#08765f;background:#e6f7f1}.module-aps .page .completion.short{color:#bc3b32;background:#fff0ee}.module-aps .page .daily-date-bar{background:linear-gradient(115deg,#fff,#f3f9fa);border:1px solid #d9e5ec;border-bottom-color:#d3e1e9;border-radius:13px 13px 0 0}.module-aps .page .date-picker{border-color:#1595aa;box-shadow:0 6px 18px #0787a717}.module-aps .page .date-step,.module-aps .page .today-button{color:#28627a;border-color:#cedde7}.module-aps .page .daily-summary{background:linear-gradient(#fff,#fbfcfd);border-inline:1px solid #d9e5ec}.module-aps .page .daily-summary>div{border-right-color:#e3eaf0;position:relative}.module-aps .page .daily-summary .nav-icon{color:#0787a7}.module-aps .page .daily-summary strong{color:#1b3045;font-variant-numeric:tabular-nums}.module-aps .page .progress-track{background:#e1eaee;height:8px}.module-aps .page .progress-track i{background:linear-gradient(90deg,#0787a7,#38af9a)}.module-aps .page .daily-table-title{background:#fbfcfd;border-inline:1px solid #d9e5ec}.module-aps .page .daily-actions{border:1px solid #d4e1e8;border-radius:0 0 12px 12px}.module-aps .page .primary-action{background:#0787a7;border-color:#0787a7}.module-aps .page .history-filter,.module-aps .page .history-table{box-shadow:var(--ops-shadow);border-color:#d8e4eb;border-radius:12px}.module-aps .page .history-filter{background:linear-gradient(110deg,#fff,#f4fafb);border-top:3px solid #0787a7}.module-aps .page .history-summary div{border-color:#dbe5ec;border-radius:11px;position:relative;overflow:hidden;box-shadow:0 7px 20px #16324a0d}.module-aps .page .history-summary div:after{content:"";background:#0787a773;height:3px;position:absolute;inset:auto 0 0}.module-aps .page .history-summary strong{color:#17364c;font-variant-numeric:tabular-nums}.module-mrp .page .material-search{border-top-color:#667ee7;box-shadow:0 12px 28px #2e438b11}.module-mrp .page .search-main{align-items:end;gap:12px}.module-mrp .page .search-toggles{border-top:1px dashed #d8deef;padding-top:12px}.module-mrp .page .search-toggles label{color:#52627a;border:1px solid #0000;border-radius:7px;min-height:27px;padding:4px 8px;transition:background .14s,border-color .14s}.module-mrp .page .search-toggles label:hover{background:#f3f5ff;border-color:#d8def6}.module-mrp .page .quick-filter{background:#f7f8fc;border:1px solid #dde3f3;border-radius:8px;padding:3px}.module-mrp .page .table-scroll{box-shadow:var(--ops-shadow);background:#fff;border:1px solid #dbe2ec;border-radius:12px}.module-mrp .page .mrp-grid{width:max-content;min-width:100%}.module-mrp .page .mrp-grid .consult-date{color:#a5570b;background:#fff9ee;font-weight:700}.module-mrp .page .live-head{background:linear-gradient(120deg,#243b7a,#4263d9 70%,#5676e1);border:1px solid #465fb9;box-shadow:0 14px 30px #2d41872e}.module-mrp .page .live-head .eyebrow{color:#c6d2ff}.module-mrp .page .snapshot-strip,.module-mrp .page .run-rail,.module-mrp .page .result-panel{border-color:#dbe1f1;box-shadow:0 10px 25px #2235690f}.module-mrp .page .snapshot-strip div{background:linear-gradient(#fff,#fafbfe);position:relative}.module-mrp .page .snapshot-strip div:before{content:"";background:#4263d959;width:2px;position:absolute;inset:0 auto 0 0}.module-mrp .page .run-card.active{color:#273b87;background:#eef1ff;border-color:#7389e4;box-shadow:inset 3px 0 #4263d9}.module-mrp .page .metric-grid button{background:linear-gradient(145deg,#f8f9fd,#eef1f8);border:1px solid #e0e5f3}.module-mrp .page .metric-grid button:hover{background:#f0f3ff;border-color:#bbc7ed}.module-mrp .page .tabbar{background:#f1f3f8}.module-mrp .page .tabbar button.active{background:#4263d9}.module-mrp .page .kind.soft{color:#3652b3;background:#e9edff}.module-txerp .page .material-search,.module-txerp .page .substitution-search,.module-txerp .page .daily-capacity-search{background:linear-gradient(110deg,#fff,#f2faf7);border-top:3px solid #0c8a73;box-shadow:0 12px 28px #105f4f0e}.module-txerp .page .material-summary{color:#60778a;align-items:center;min-height:28px;margin:0 2px 9px;display:flex}.module-txerp .page .material-table,.module-txerp .page .movement-table,.module-txerp .page .substitution-table{border-radius:12px}.module-txerp .page .item-code-link,.module-txerp .page .order-link,.module-txerp .page .bom-link{color:#087a68;text-underline-offset:3px}.module-txerp .page .available-qty-value{color:#b24434;justify-content:flex-end;min-width:44px;font-weight:750;display:inline-flex}.module-txerp .page .stagnant-warning{color:#a04c12;background:#fff5e7;box-shadow:inset 3px 0 #e09a4b}.module-txerp .page .subtotal-row{border-top-color:#0c8a73}.module-txerp .page .subtotal-row td{background:#eef7f4}.module-txerp .page .bom-tree-header{background:linear-gradient(120deg,#f8fcfb,#edf8f4);border:1px solid #d9e8e3;border-radius:11px}.module-txerp .page .bom-tree-table{border:1px solid #dbe7e3;border-radius:11px}.module-txerp .page .bom-tree-table tbody tr.bom-root-node td{color:#155b4f;background:#e6f5f0}.module-txerp .page .bom-tree-table tbody tr.bom-assembly-node td{background:#f5fbf9}.module-txerp .page .tree-toggle{color:#0c806c;background:#e3f3ee}.module-txerp .page .bom-tree-table .cumulative{color:#087a68}.module-txerp .page .arrival-legend{background:#ffffffc7;border:1px solid #dbe6e2;border-radius:10px;padding:9px 11px}.module-txerp .page .arrival-legend button.active{outline-color:#0c8a734d}.module-txerp .page .pagination{background:#ffffffb8;border:1px solid #dce6e3;border-radius:9px;min-height:38px;padding:5px 7px}.module-txerp .page .pagination button.active{background:#0c8a73;border-color:#0c8a73}.module-txerp .page .material-picker small{color:#0c806c}.module-txerp .page .field-help{color:#657b77;background:#f0f7f5;border-radius:7px;padding:7px 9px}.module-txerp .page .movement-modal,.module-txerp .page .substitution-form{border-top:4px solid #0c8a73}.module-aps .page .empty,.module-mrp .page .empty,.module-txerp .page .empty{color:#78899b;background:linear-gradient(145deg, #fafcfde0, rgba(var(--module-rgb), .025))}.module-aps .page .loading,.module-mrp .page .loading,.module-txerp .page .loading{color:var(--module-accent)}.module-aps .page .alert,.module-mrp .page .alert,.module-txerp .page .alert,.module-aps .page .success,.module-mrp .page .success,.module-txerp .page .success{border-radius:9px;box-shadow:0 5px 14px #1e344c0a}.module-aps .page .number-cell,.module-mrp .page .number-cell,.module-txerp .page .number-cell,.module-aps .page .num,.module-mrp .page .num,.module-txerp .page .num{font-variant-numeric:tabular-nums}.advanced-query-panel{--query-accent:var(--module-accent,#0877c9);--query-rgb:var(--module-rgb,8, 119, 201);position:relative;overflow:visible;background:#fff!important;border:1px solid #d9e3ec!important;border-top:0!important;border-radius:14px!important;padding:0!important;box-shadow:0 14px 34px #16304813!important}.advanced-query-panel:before{content:"";background:linear-gradient(90deg, var(--query-accent), rgba(var(--query-rgb), .55) 46%, rgba(var(--query-rgb), .08));height:4px;display:block}.advanced-query-panel .search-main{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:5px;padding:10px 10px 8px;display:grid}.advanced-query-panel .search-main label{color:#53677d;min-width:0;font-size:12px;font-weight:650}.advanced-query-panel .search-main input,.advanced-query-panel .search-main select{background:#fbfcfd;border:1px solid #d0d9e2;border-radius:8px;width:100%;min-width:0;height:30px;margin-top:1px;transition:border-color .18s,box-shadow .18s,background .18s}.advanced-query-panel .search-main select{padding:2px 8px}.advanced-query-panel .search-main input:focus,.advanced-query-panel .search-main select:focus{border-color:var(--query-accent);box-shadow:0 0 0 3px rgba(var(--query-rgb), .1);background:#fff;outline:none}.advanced-query-panel .search-buttons{grid-template-columns:auto auto;align-items:center;gap:4px;min-width:174px;padding:0;display:grid}.advanced-query-panel .search-buttons>button{white-space:nowrap;min-height:30px;margin:0;padding-inline:14px}.advanced-query-panel .search-buttons>.button{min-width:82px;box-shadow:0 6px 14px rgba(var(--query-rgb), .16)}.advanced-query-panel .search-buttons>.link-button{width:100%;min-height:24px;color:var(--query-accent);border:1px solid rgba(var(--query-rgb), .15);background:rgba(var(--query-rgb), .04);letter-spacing:.02em;border-radius:8px;grid-column:1/-1;justify-content:center;padding:2px 8px;font-size:12px;font-weight:650;transition:all .18s}.advanced-query-panel .search-buttons>.link-button:hover{color:var(--query-accent);background:rgba(var(--query-rgb), .1);border-color:rgba(var(--query-rgb), .3);box-shadow:0 2px 8px rgba(var(--query-rgb), .1);transform:none}.advanced-query-panel .advanced-search{border-top:1px dashed rgba(var(--query-rgb), .18);background:radial-gradient(ellipse at 0% 0%, rgba(var(--query-rgb), .05) 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, rgba(var(--query-rgb), .025) 0%, transparent 45%), linear-gradient(180deg, #f8fafb, #f4f7f9);grid-template-columns:repeat(4,minmax(180px,1fr));gap:5px 10px;margin:0;padding:22px 12px 4px;display:grid;position:relative}.advanced-query-panel .advanced-search:before{content:"▼ 高级筛选条件";color:var(--query-accent);letter-spacing:.05em;opacity:.6;text-transform:uppercase;font-size:11px;font-weight:650;position:absolute;top:5px;left:12px}.advanced-query-panel .advanced-search label{color:#4f6375;letter-spacing:.02em;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;font-size:12px;font-weight:600;transition:color .15s;display:flex}.advanced-query-panel .advanced-search label:hover{color:var(--query-accent)}.advanced-query-panel .advanced-search input,.advanced-query-panel .advanced-search select{color:#2d3e50;background:#fff;border:1px solid #cdd7e0;border-radius:7px;width:100%;min-width:0;height:28px;padding:0 8px;font-size:13px;transition:border-color .15s,box-shadow .15s,background .15s}.advanced-query-panel .advanced-search input:hover,.advanced-query-panel .advanced-search select:hover{background:#fcfdfe;border-color:#a4b4c4}.advanced-query-panel .advanced-search input:focus,.advanced-query-panel .advanced-search select:focus{border-color:var(--query-accent);box-shadow:0 0 0 3px rgba(var(--query-rgb), .08);background:#fff;outline:none}.advanced-query-panel .advanced-search input::placeholder{color:#a8b5c0;font-size:12px}.advanced-query-panel .advanced-search select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238899aa' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.advanced-query-panel .advanced-search input[type=date]{font-family:inherit;font-size:12.5px}.advanced-query-panel .advanced-search .range-row{gap:4px;width:100%;display:flex}.advanced-query-panel .advanced-search .range-row>input{flex:1;min-width:0}:is(.advanced-query-panel .advanced-search .range-row:has(>input[type=date]+input[type=date]),.advanced-query-panel .advanced-search .range-row:has(>input[type=number]+input[type=number])){position:relative}.advanced-query-panel .advanced-search .range-row:has(>input[type=date]+input[type=date]):after{content:"–";color:#94a3b3;pointer-events:none;font-size:16px;font-weight:700;line-height:1;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.advanced-query-panel .advanced-search .range-row:has(>input[type=number]+input[type=number]):after{content:"–";color:#94a3b3;pointer-events:none;font-size:16px;font-weight:700;line-height:1;position:absolute;bottom:7px;left:50%;transform:translate(-50%)}.advanced-query-panel .advanced-search label:has(>input[type=checkbox]){cursor:pointer;background:#fff;border:1px solid #cdd7e0;border-radius:7px;flex-direction:row;align-items:center;gap:8px;height:36px;padding:0 12px;transition:border-color .15s,background .15s}.advanced-query-panel .advanced-search label:has(>input[type=checkbox]):hover{border-color:var(--query-accent);background:rgba(var(--query-rgb), .03)}.advanced-query-panel .advanced-search label:has(>input[type=checkbox]) input[type=checkbox]{width:15px;height:15px;accent-color:var(--query-accent);flex-shrink:0}@media (width<=1500px){.advanced-query-panel .search-main{grid-template-columns:repeat(4,minmax(135px,1fr)) auto}.advanced-query-panel .advanced-search{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (width<=1200px){.page-title-line{flex-direction:column;align-items:flex-start;gap:4px}.page-query-context{border-left:0;padding-left:0}.advanced-query-panel .search-main{grid-template-columns:repeat(2,minmax(180px,1fr))}.advanced-query-panel .search-buttons{grid-column:1/-1;grid-template-columns:auto auto minmax(130px,1fr)}.advanced-query-panel .search-buttons>.link-button{grid-column:auto;min-height:40px}}.global-notifications{z-index:120;pointer-events:none;gap:10px;width:min(420px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.global-notification{pointer-events:auto;background:#fff;border:1px solid;border-left-width:5px;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:15px 15px 15px 17px;display:grid;box-shadow:0 14px 36px #12273f33}.global-notification-error{color:#7a1c18;background:snow;border-color:#efb5b0 #efb5b0 #efb5b0 #c9372c}.global-notification-warning{color:#7a4d10;background:#fffdf5;border-color:#f0d29a #f0d29a #f0d29a #d98e04}.global-notification-success{color:#145c38;background:#f8fffb;border-color:#a9dbc0 #a9dbc0 #a9dbc0 #22885a}.global-notification-copy{min-width:0}.global-notification-copy strong{color:#17233c;margin-bottom:4px;font-size:14px;line-height:1.35;display:block}.global-notification-copy p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.global-notification-close{color:#53677c;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:5px;padding:4px 7px;font-size:12px}.global-notification-close:hover,.global-notification-close:focus-visible{color:#17233c;box-shadow:none;background:#edf2f7;transform:none}.notification-enter-active,.notification-leave-active{transition:opacity .18s,transform .18s}.notification-enter-from,.notification-leave-to{opacity:0;transform:translateY(-8px)}@media (width<=640px){.global-notifications{width:auto;top:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.notification-enter-active,.notification-leave-active{transition:none}}@media (width<=767px){html,body,#app{width:100%;max-width:100%}body{overflow-x:hidden}.login-page{width:100%;padding:16px}.login-card{width:100%;max-width:390px;padding:26px 20px}.login-card img{width:min(160px,46vw);height:min(160px,46vw)}.app,.app.collapsed{width:100%;padding-left:0}.page,.module-aps .page,.module-mrp .page,.module-txerp .page{width:100%;min-width:0;max-width:100vw;padding:68px 14px 30px;overflow-x:clip}.module-aps .page:before,.module-mrp .page:before,.module-txerp .page:before{left:0}.sidebar,.sidebar.collapsed{width:min(82vw,320px);max-width:320px;transition:transform .2s;transform:translate(-105%);box-shadow:10px 0 35px #061b3252}.sidebar.mobile-open{transform:translate(0)}.sidebar .brand .icon-button{display:none}.mobile-nav-trigger{z-index:19;color:#fff;background:#07518f;border-color:#07518f;justify-content:center;align-items:center;min-width:64px;min-height:42px;font-weight:700;display:inline-flex;position:fixed;top:14px;left:14px;box-shadow:0 5px 16px #0b315330}.mobile-nav-backdrop{z-index:18;background:#061b3270;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.toolbar.page-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:14px}.page-heading-copy{min-width:0}.page-title-line{display:block}.toolbar h1{overflow-wrap:anywhere;font-size:24px;line-height:1.25}.toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-start;width:100%}.toolbar-actions>*,.offer-toolbar>*,.complaint-toolbar>*{flex:none}.table-card,.table-scroll,.table-wrap,.table-shell,.sheet-wrap,.excel-shell,.history-table,.daily-table-wrap,.substitute-table-wrap,.document-table,.settings-data-table,.material-table,.movement-table,.bom-tree-table,.data-grid-wrap{overscroll-behavior-inline:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;width:100%;min-width:0;max-width:100%;display:block;overflow:auto}.data-grid-wrap{min-width:0!important}.data-grid-wrap>.data-grid{max-width:none}.table-card>table,.table-scroll>table,.table-wrap>table,.table-shell>table,.sheet-wrap>table,.excel-shell>table,.history-table>table,.daily-table-wrap>table,.substitute-table-wrap>table,.document-table>table,.settings-data-table>table,.material-table>table,.movement-table>table,.bom-tree-table>table{width:max-content;min-width:100%;max-width:none}.card,.panel{max-width:100%;padding:14px}.section-head,.detail-summary,.selection,.tabs-row,.arrival-legend,.settings-detail-header,.permission-savebar,.drawer>header{flex-wrap:wrap;align-items:flex-start}.tabs,.arrival-legend,.head-actions,.tabbar{overscroll-behavior-inline:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.tabs>*,.arrival-legend>*,.head-actions>*,.tabbar>*{flex:none}.offer-toolbar,.schedule-sheet,.calendar-pane,.matrix-scroll,.daily-execution-table{overscroll-behavior-inline:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.schedule-sheet.card{grid-template-columns:minmax(280px,82vw) minmax(72px,1fr)!important}.schedule-sheet.card .fixed-pane{min-width:0;overflow:hidden}.schedule-sheet.card .fixed-head,.schedule-sheet.card .order-info{grid-template-columns:58px 65px 78px 50px minmax(72px,1fr)!important}.search-main,.search-row,.search-buttons,.substitution-search,.complaint-filters,.import-form,.query-form{flex-direction:column;align-items:stretch;width:100%;min-width:0}.search-main>*,.search-row>*,.search-buttons>*,.substitution-search>*,.complaint-filters>*,.import-form>*,.query-form>*{width:100%;min-width:0!important}.advanced-query-panel .search-main,.advanced-query-panel .advanced-search,.advanced-query-panel .search-buttons,.advanced-search,.bom-tree-header,.hr-org-grid,.workflow-step-editor,.permission-domain-tabs,.permission-inline-row,.permission-row,.material-form .form-grid,.substitution-form .form-grid{grid-template-columns:minmax(0,1fr)}.advanced-query-panel .search-buttons,.advanced-query-panel .search-buttons>.link-button,.substitution-form .span-2{grid-column:1}.hr-organization,.settings-workspace{grid-template-columns:minmax(0,1fr)}.hr-organization{min-height:0}.hr-org-tree,.settings-master{border-right:0;border-bottom:1px solid var(--line);max-height:42vh}.settings-workspace{min-height:0;overflow:visible}.settings-detail{overflow:visible}.settings-search{width:100%;min-width:0}.permission-inline-row>em{grid-column:1}.permission-savebar div{flex-wrap:wrap;width:100%}.control-panel-head{flex-direction:column;align-items:flex-start;gap:10px}.range-presets{touch-action:pan-x;width:100%;overflow-x:auto}.range-presets>*{flex:none}.filter-bar{grid-template-columns:minmax(0,1fr)!important;padding:12px!important}.filter-bar .date-range-field{grid-template-columns:minmax(0,1fr)}.filter-bar .date-range-field>i{display:none}.filter-bar .query-actions{grid-column:1;justify-content:stretch}.filter-bar .query-actions>button{flex:1}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.summary-strip>div{min-width:0;padding-left:46px}.sheet-toolbar,.sheet-footer{flex-wrap:wrap;align-items:flex-start;gap:8px}.daily-date-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:12px!important}.daily-date-bar .date-picker{grid-area:1/1/auto/-1;min-width:0}.daily-summary{gap:0;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px!important}.daily-summary>div{border-bottom:1px solid #e2e9f1;min-width:0;border-right:0!important;padding:12px!important}.daily-summary>div:last-child{border-bottom:0;grid-column:1/-1}.daily-execution-table{width:100%;max-width:100%;display:block;overflow-x:auto!important}.pagination{overscroll-behavior-inline:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:4px;overflow-x:auto}.pagination>*{flex:none}.pagination .page-jump{margin-left:0}.modal-card,.modal-card.wide{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:16px}.modal,.modal-backdrop,.confirm-backdrop,.share-overlay{padding:12px}.drawer{width:100vw;max-width:100vw;padding:16px}.drawer .detail-summary{gap:14px}.quote-form{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding-inline:10px}.quote-form footer{margin-inline:-10px;padding-inline:10px}input,select,textarea{min-width:0}label,input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%}.form-grid{grid-template-columns:minmax(0,1fr)}button,.button,input,select{min-height:44px}}.advanced-query-panel{--query-ink:#1b3550;transition:box-shadow .2s,border-color .2s;border-color:#d5e1ec!important;border-radius:10px!important;box-shadow:0 6px 16px #1737520d,0 1px 3px #17375208!important}.advanced-query-panel:focus-within{border-color:rgba(var(--query-rgb), .42)!important;box-shadow:0 14px 30px #17375217, 0 0 0 3px rgba(var(--query-rgb), .08)!important}.advanced-query-panel:before{background:linear-gradient(90deg, var(--query-accent) 0%, rgba(var(--query-rgb), .72) 55%, rgba(var(--query-rgb), .1) 100%);height:3px}.advanced-query-panel .search-main{background:linear-gradient(#fff 0%,#fcfdfe 100%);gap:10px;padding:6px 14px 4px;position:relative}.advanced-query-panel .search-main label,.advanced-query-panel .advanced-search label{color:#5d7186;letter-spacing:.01em;font-weight:700}.advanced-query-panel .search-main input,.advanced-query-panel .search-main select,.advanced-query-panel .advanced-search input,.advanced-query-panel .advanced-search select{color:var(--query-ink);border:1px solid #d7e1ea;border-radius:9px;margin-top:6px;transition:border-color .16s,box-shadow .16s,background .16s;box-shadow:inset 0 1px 2px #17375206}.advanced-query-panel input::placeholder{color:#9aabba}.advanced-query-panel .search-main input:hover,.advanced-query-panel .search-main select:hover,.advanced-query-panel .advanced-search input:hover,.advanced-query-panel .advanced-search select:hover{border-color:#afc3d5}.advanced-query-panel .search-main input:focus,.advanced-query-panel .search-main select:focus,.advanced-query-panel .advanced-search input:focus,.advanced-query-panel .advanced-search select:focus{border-color:var(--query-accent);box-shadow:0 0 0 3px rgba(var(--query-rgb), .11);outline:0}.advanced-query-panel .search-buttons{align-self:end;gap:8px}.advanced-query-panel .search-buttons>button{border-radius:9px;font-weight:700}.advanced-query-panel .search-buttons>.button{background:var(--query-accent);border-color:var(--query-accent)}.advanced-query-panel .search-buttons>.button:hover{filter:brightness(.96);transform:translateY(-1px)}.advanced-query-panel .search-buttons>.link-button{color:var(--query-accent);background:rgba(var(--query-rgb), .065);position:relative}.advanced-query-panel .search-buttons>.link-button:after{content:"⌄";margin-left:5px;font-size:14px;line-height:0;transition:transform .2s}.advanced-query-panel:has(.advanced-search) .search-buttons>.link-button:after{transform:rotate(180deg)}.advanced-query-panel .advanced-search{background:linear-gradient(135deg, rgba(var(--query-rgb), .065), #f8fbfdfa 46%);border-top:1px solid #e1e9f0;gap:16px;padding:46px 20px 20px}.advanced-query-panel .advanced-search:before{color:var(--query-accent);letter-spacing:.08em;font-size:11px;top:15px;left:20px}.advanced-query-panel .advanced-search:after{content:"";background:var(--query-accent);border-radius:3px;width:3px;height:12px;position:absolute;top:20px;left:20px}.advanced-query-panel .advanced-search label:has(>input+input){gap:8px}@media (width<=767px){.advanced-query-panel .search-main,.advanced-query-panel .advanced-search{padding-inline:14px}.advanced-query-panel .advanced-search:before,.advanced-query-panel .advanced-search:after{left:14px}.workspace-tabs,.workspace-tabs.collapsed{height:38px;padding-left:58px;padding-right:10px;left:0}.workspace-tabs-count{display:none}.workspace-tab{max-width:170px}.page,.module-aps .page,.module-mrp .page,.module-txerp .page{padding-top:38px!important}}@media (width>=768px){.page,.module-aps .page,.module-mrp .page,.module-txerp .page{padding-top:40px!important}}.snapshot-entry{background:#f2fbf5;border:1px solid #c9ded0;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin:18px 0;padding:18px;display:flex}.snapshot-entry>div{gap:5px;display:grid}.snapshot-entry span{color:#64748b;font-size:13px}.hengge-page-actions{justify-content:flex-end;margin-bottom:12px;display:flex}
