:root{--blue: #1f5fbf;--blue-soft: #eaf2ff;--green: #1f9d55;--yellow: #f5b700;--red: #d92d20;--purple: #7656b8;--text: #172033;--muted: #667085;--border: #d9e1ee;--bg: #f3f6fa;--panel: #ffffff;--head: #eef3f8;--radius: 6px;--shadow: 0 8px 24px rgb(17 24 39 / 10%);font-family:Microsoft YaHei,Source Han Sans SC,Inter,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{border:1px solid var(--border);background:#fff;border-radius:var(--radius);height:32px;padding:0 12px;cursor:pointer}button:hover{border-color:var(--blue);color:var(--blue)}select,input,textarea{border:1px solid var(--border);border-radius:var(--radius);padding:0 10px;background:#fff;min-width:0}select,input{height:32px}textarea{padding-top:8px;resize:vertical}.searchable-select{position:relative;min-width:0}.searchable-select-input{width:100%;padding-right:46px}.searchable-select-input:focus{border-color:var(--blue);outline:2px solid rgb(31 95 191 / 12%)}.searchable-select-clear,.searchable-select-chevron{position:absolute;top:1px;height:30px;display:grid;place-items:center;background:transparent;border:0}.searchable-select-clear{right:23px;width:22px;padding:0;color:var(--muted);font-size:16px}.searchable-select-clear:hover{color:var(--red)}.searchable-select-chevron{right:2px;width:20px;color:var(--muted);pointer-events:none}.searchable-select-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:250px;overflow-y:auto;padding:4px;border:1px solid #b9c8d8;border-radius:4px;background:#fff;box-shadow:0 10px 24px #11182724}.searchable-select-menu-floating{position:fixed;z-index:80;right:auto;min-width:0;overscroll-behavior:contain}.searchable-select-option{width:100%;min-height:30px;height:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:0;border-radius:3px;background:#fff;color:var(--text);text-align:left}.searchable-select-option:hover,.searchable-select-option:focus-visible,.searchable-select-option.selected{background:var(--blue-soft);color:var(--blue);outline:none}.searchable-select-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-option small{flex:0 0 auto;color:var(--muted);font-size:10px}.searchable-select-empty{display:block;padding:9px 8px;color:var(--muted);font-size:12px}.searchable-select.is-disabled{opacity:.65}h1,h2,p{margin:0}h1{font-size:20px}h2{font-size:16px;margin-bottom:12px}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{color:#fff;filter:brightness(.96)}.secondary{background:var(--blue-soft);color:var(--blue);border-color:#b9d0f5}.ghost{background:transparent}.danger-btn{background:var(--red);color:#fff;border-color:var(--red)}.danger-btn:hover{color:#fff;filter:brightness(.95)}.danger-text{color:var(--red);border-color:#f1c1bd}.wide{width:100%;height:40px}.hint{color:var(--muted);font-size:12px;line-height:1.7}.boot-fallback{min-height:100vh;display:grid;place-content:center;gap:10px;padding:24px;text-align:center;background:#edf2f7;color:var(--text)}.boot-fallback strong{font-size:20px}.boot-fallback span{color:var(--muted);line-height:1.8;max-width:520px}.login-page{min-height:100vh;display:grid;place-items:center;background:#edf2f7}.login-panel{width:380px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:grid;gap:16px}.login-form,.password-form{display:grid;gap:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-panel label{display:grid;gap:8px;color:var(--muted)}.brand-block{border-left:4px solid var(--blue);padding-left:12px;display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:44px;height:44px;flex:0 0 44px;object-fit:contain}.brand-copy{min-width:0;display:grid;gap:4px}.brand-block strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.brand-block span{color:var(--muted)}.shell{position:relative;height:100vh;display:grid;grid-template-columns:auto 1fr;overflow:hidden}.page-watermark{position:fixed;z-index:20;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:space-around;gap:10vh 8vw;padding:8vh 4vw;overflow:hidden;pointer-events:none;user-select:none;transform:rotate(-18deg) scale(1.15);color:#1e40af13;font-size:13px;font-weight:700;letter-spacing:0;white-space:nowrap}.page-watermark span{display:block;text-align:center}.page-watermark.watermark-density-sparse{grid-template-columns:repeat(2,minmax(0,1fr));gap:16vh 12vw}.page-watermark.watermark-density-standard{grid-template-columns:repeat(3,minmax(0,1fr))}.page-watermark.watermark-density-dense{grid-template-columns:repeat(4,minmax(0,1fr));gap:7vh 4vw}.page-watermark.watermark-opacity-light{color:#1e40af0e}.page-watermark.watermark-opacity-standard{color:#1e40af13}.page-watermark.watermark-opacity-dark{color:#1e40af1c}.page-watermark.watermark-font-small{font-size:11px}.page-watermark.watermark-font-standard{font-size:13px}.page-watermark.watermark-font-large{font-size:15px}.watermark-settings-panel{display:grid;gap:14px}.watermark-settings-head{align-items:flex-start}.watermark-enabled-toggle{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--text);font-weight:700}.watermark-enabled-toggle input,.watermark-checkbox-grid input,.watermark-option-card input{width:16px;min-width:16px;height:16px;padding:0;accent-color:var(--blue)}.watermark-settings-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(330px,1.4fr) minmax(150px,.45fr) minmax(150px,.45fr);gap:12px;align-items:stretch}.watermark-settings-grid fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius)}.watermark-settings-grid legend{padding:0 6px;color:var(--muted);font-size:12px}.watermark-checkbox-grid{display:flex;flex-wrap:wrap;gap:9px 14px}.watermark-checkbox-grid label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.watermark-radio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.watermark-option-card{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.watermark-option-card:has(input:checked){border-color:#9dbce9;background:var(--blue-soft)}.watermark-option-card span{display:grid;gap:3px;min-width:0}.watermark-option-card small{color:var(--muted);font-size:11px;line-height:1.35}.watermark-select-field{display:grid;align-content:center;gap:7px;color:var(--muted)}.watermark-select-field select{width:100%;color:var(--text)}.watermark-preview-block{grid-column:1 / -1;display:grid;gap:7px}.watermark-preview-block>span{color:var(--muted);font-size:12px}.watermark-preview{min-height:52px;display:grid;place-items:center;overflow:hidden;padding:12px;border:1px dashed #b9c8d8;background:#f7faff;color:#1e40af13;font-size:13px;font-weight:700;white-space:nowrap;transform:rotate(-4deg)}.watermark-preview.watermark-opacity-light{color:#1e40af0e}.watermark-preview.watermark-opacity-standard{color:#1e40af13}.watermark-preview.watermark-opacity-dark{color:#1e40af1c}.watermark-preview.watermark-font-small{font-size:11px}.watermark-preview.watermark-font-standard{font-size:13px}.watermark-preview.watermark-font-large{font-size:15px}.watermark-settings-actions{justify-content:flex-end}.sidebar{width:224px;background:#162033;color:#dce7f7;border-right:1px solid #24354f;transition:width .15s ease;display:flex;flex-direction:column;overflow:hidden}.sidebar.collapsed{width:72px}.system-name{min-height:72px;padding:12px 14px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #24354f}.system-logo{width:36px;height:36px;flex:0 0 36px;object-fit:contain}.system-name-copy{min-width:0;display:grid;gap:2px}.system-name-copy b{color:#fff;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.system-name-copy span{font-size:12px;line-height:1.25;color:#9fb1cc}.sidebar.collapsed .system-name-copy,.sidebar.collapsed button b{display:none}.sidebar.collapsed .system-name{padding:0;justify-content:center}.sidebar.collapsed .system-logo{width:38px;height:38px;flex-basis:38px}.sidebar-nav{min-height:0;overflow-y:auto;padding:10px 0 16px}.sidebar-menu-group{display:grid;gap:0}.sidebar-group-title{padding:9px 16px 6px;color:#8fa2bc;font-size:12px;line-height:1.35;letter-spacing:.04em}.plan-menu-group{margin-top:13px;padding-top:11px;border-top:1px solid #2b3b55}.sidebar.collapsed .plan-menu-group{margin-top:8px;padding-top:8px}.procurement-menu-group{margin-top:13px;padding-top:11px;border-top:1px solid #2b3b55}.sidebar.collapsed .procurement-menu-group{margin-top:8px;padding-top:8px}.procurement-menu-group .procurement-subitem{padding-left:30px;color:#c4d2e3;font-size:14px}.sidebar.collapsed .procurement-menu-group .procurement-subitem{padding-left:0;font-size:inherit}.plan-menu-group .department-plan-subitem{padding-left:30px;color:#c4d2e3;font-size:14px}.plan-menu-group .department-plan-subitem.active{color:#fff;background:#1d3554}.sidebar-submenu-list{display:grid;gap:0}.sidebar-submenu-toggle{color:#b7c8dc;font-size:14px}.sidebar-submenu-toggle span{width:22px;text-align:center;color:#7f93af;font-weight:700}.sidebar-submenu-toggle b{font-size:14px}.sidebar-submenu-toggle.active{color:#fff;background:#1d3554}.sidebar-submenu-toggle .menu-count{min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#2b4364;color:#dce7f7;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-style:normal}.sidebar.collapsed .sidebar-submenu-toggle b{display:none}.sidebar.collapsed .sidebar-submenu-toggle span{width:auto}.sidebar.collapsed .plan-menu-group .department-plan-subitem{padding-left:0;font-size:inherit}.sidebar button{width:calc(100% - 16px);min-height:40px;height:40px;margin:1px 8px;border:0;background:transparent;color:#d7e2f0;display:flex;align-items:center;gap:10px;justify-content:flex-start;font-size:14px;line-height:1.35}.sidebar.collapsed button{width:44px;margin:1px auto;padding:0;gap:0;justify-content:center}.sidebar button.active{background:var(--blue);color:#fff}.sidebar button span{width:22px;text-align:center;font-size:15px;line-height:1}.sidebar.collapsed button span{width:auto}.sidebar button b{min-width:0;flex:1;display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.35}.menu-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#fff3c4;color:#8a5b00;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-style:normal}.workspace{min-width:0;height:100vh;display:grid;grid-template-rows:56px auto auto minmax(0,1fr);overflow:hidden}.topbar{background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 18px;min-height:0}.breadcrumb{color:var(--muted);flex:1}.account{display:flex;align-items:center;gap:10px}.role{background:var(--blue-soft);color:var(--blue);padding:4px 8px;border-radius:var(--radius)}.runtime-line{min-height:36px;padding:4px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);background:#fbfdff;color:var(--muted);font-size:12px}.inline-warning{color:#9a5b00;background:#fff7df;border:1px solid #f4d06f;border-radius:var(--radius);padding:4px 8px;font-weight:700;white-space:nowrap}.page-stack{min-width:0;min-height:0;overflow:auto}.page{min-width:0;min-height:0;padding:16px 18px 18px;display:flex;flex-direction:column;gap:16px;align-content:start}.page>*{flex:0 0 auto}.page-error{margin:8px 18px 0}.error{color:var(--red);background:#fff1f0;border:1px solid #ffccc7;padding:8px 10px;border-radius:var(--radius)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-head>button{white-space:nowrap;flex:0 0 auto}.page-title-with-meta{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.page-limit-note{color:var(--muted);font-size:12px;font-weight:400}.page-head p{color:var(--muted);margin-top:6px}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cards article{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:grid;gap:8px}.cards span{color:var(--muted)}.cards b{font-size:26px}.cards .warn b{color:#a66b00}.cards .danger b{color:var(--red)}.cards .mini{justify-self:start}.dashboard-priority-strip{min-width:0;display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(2,minmax(210px,.8fr));align-items:stretch;border:1px solid #d6e1ec;background:#f8fbfe}.dashboard-priority-strip>div{min-width:0;padding:10px 12px;border-right:1px solid #d6e1ec}.dashboard-priority-strip>div:last-child{border-right:0}.dashboard-priority-lead{display:grid;align-content:center;gap:3px}.dashboard-priority-lead b{color:var(--text);font-size:13px;line-height:1.45}.dashboard-priority-lead small{color:var(--muted);font-size:11px;line-height:1.45}.dashboard-priority-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px}.dashboard-priority-item span{color:var(--muted);font-size:12px}.dashboard-priority-item b{color:var(--text);font-size:18px;font-variant-numeric:tabular-nums}.dashboard-priority-item .mini{grid-column:1 / -1;justify-self:start}.dashboard-priority-strip .eyebrow{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.06em}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:14px;align-items:start}.dashboard-grid .panel:first-child{grid-row:span 2}.process-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}.process-cell{border:1px solid var(--border);background:#fbfdff;border-radius:var(--radius);padding:10px;display:grid;gap:4px}.process-cell b{font-size:18px}.process-cell em{color:var(--muted);font-size:12px;font-style:normal}.todo-row{display:grid;grid-template-columns:1fr 70px auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.todo-row div{display:grid;gap:4px}.todo-row span{color:var(--muted);font-size:12px}.todo-row strong{text-align:right;font-variant-numeric:tabular-nums}.todo-filter-bar{align-items:center}.todo-keyword-filter{flex:1 1 220px;max-width:280px}.todo-filter-bar select{min-width:138px}.todo-select-all input,.todo-table input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--blue)}.todo-table-wrap{max-height:calc(100vh - 300px)}.todo-table{min-width:1640px;table-layout:fixed}.todo-table th,.todo-table td{padding:7px 8px;vertical-align:middle}.todo-table th:nth-child(1),.todo-table td:nth-child(1){width:44px;text-align:center}.todo-table th:nth-child(2),.todo-table td:nth-child(2){width:142px}.todo-table th:nth-child(3),.todo-table td:nth-child(3),.todo-table th:nth-child(4),.todo-table td:nth-child(4){width:120px}.todo-table th:nth-child(5),.todo-table td:nth-child(5){width:110px}.todo-table th:nth-child(6),.todo-table td:nth-child(6){width:78px}.todo-table th:nth-child(7),.todo-table td:nth-child(7){width:175px}.todo-table th:nth-child(8),.todo-table td:nth-child(8){width:102px}.todo-table th:nth-child(9),.todo-table td:nth-child(9){width:88px}.todo-table th:nth-child(10),.todo-table td:nth-child(10){width:142px}.todo-table th:nth-child(11),.todo-table td:nth-child(11){width:88px}.todo-table th:nth-child(12),.todo-table td:nth-child(12){width:108px}.todo-table th:nth-child(13),.todo-table td:nth-child(13){width:180px}.todo-table th:nth-child(14),.todo-table td:nth-child(14){width:255px}.todo-table th:last-child{position:sticky;right:0;z-index:4;background:var(--head);box-shadow:-5px 0 10px #2037581a}.todo-table td:last-child{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-5px 0 10px #20375814}.todo-table tbody tr:nth-child(2n) td:last-child{background:#fbfcfe}.todo-table tbody tr:hover td:last-child{background:#eef6ff}.todo-table tbody tr.row-pending_confirm td:last-child{background:#fff9e6}.todo-check-cell{text-align:center!important}.todo-product-cell{text-align:left}.todo-product-content{display:grid;width:100%;gap:3px;min-width:0;white-space:normal;overflow-wrap:anywhere}.todo-product-cell b{font-size:14px;line-height:1.25}.todo-product-cell small,.todo-classification-cell small{color:var(--muted);font-size:11px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.todo-quantity-cell b{color:#8a5b00;font-size:16px}.todo-classification-cell{min-width:0;white-space:normal}.todo-classification-cell small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-trial-mark{display:inline-flex;align-items:center;min-height:20px;padding:0 5px;border:1px solid #e7c878;border-radius:4px;background:#fff8df;color:#8a5b00;font-size:10px}.todo-action-cell{min-width:255px;padding-left:10px!important;padding-right:10px!important;white-space:normal}.todo-action-buttons{display:flex;width:max-content;max-width:100%;align-items:center;justify-content:center;gap:6px;margin-inline:auto;flex-wrap:nowrap}.todo-action-buttons button{height:28px;padding:0 8px;white-space:nowrap}.status-list{display:grid;gap:10px}.status-list span{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;color:var(--muted)}.status-list b{color:var(--text)}.empty-state{color:var(--muted);background:#f8fafc;border:1px dashed var(--border);padding:18px;text-align:center;border-radius:var(--radius)}.filter{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;gap:8px;flex-wrap:wrap}.todo-select-all{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 4px;color:var(--text);white-space:nowrap;cursor:pointer}.todo-selected-total b{color:var(--blue)}.todo-batch-failure{display:grid;gap:6px;border-left:4px solid var(--red);background:#fff5f5;color:#8d2a2a}.todo-batch-failure span{font-size:12px;line-height:1.5}.date-filter{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:12px;background:#fff}.date-filter input{min-width:132px;border:0;padding:4px 0;color:var(--text);background:transparent}.inventory-disabled-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 4px;color:var(--text);white-space:nowrap;cursor:pointer}.inventory-disabled-toggle input{width:16px;height:16px;margin:0;accent-color:var(--blue)}.table-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.sticky-table-tools{position:sticky;top:0;z-index:5;box-shadow:0 3px 8px #20375814}.sticky-table-wrap{max-height:calc(100vh - 246px);overflow:auto}.sticky-table-wrap th{position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px 0 var(--border)}table{width:100%;border-collapse:collapse;min-width:980px}.wide-table table{min-width:1480px}.inventory-table-wrap{overflow-x:auto;overscroll-behavior-x:contain}.inventory-table{width:max-content;min-width:0;table-layout:fixed;font-size:12px}.inventory-table col.inventory-col-product{width:96px}.inventory-table col.inventory-col-model{width:68px}.inventory-table col.inventory-col-tags{width:104px}.inventory-table col.inventory-col-total{width:72px}.inventory-table col.inventory-col-process{width:76px}.inventory-table th,.inventory-table td{padding:7px 3px;text-align:center;overflow:hidden;text-overflow:ellipsis}.inventory-table th:nth-child(-n+4),.inventory-table td:nth-child(-n+4){white-space:normal}.inventory-table .inventory-process-head,.inventory-table .inventory-process-cell{width:76px}.inventory-table .inventory-process-head span{display:-webkit-box;white-space:normal;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:break-all;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.inventory-table .inventory-process-cell,.inventory-table .inventory-process-total{white-space:nowrap}.inventory-table .num{text-align:center}.inventory-table .tag{height:20px;padding:0 5px;margin:1px;font-size:11px}.inventory-table th em{display:block;width:fit-content;margin:3px auto 0;font-weight:500}.inventory-table thead tr:first-child th{top:0;height:32px;background:#e8f0fb;color:#1f4f8f;border-bottom-color:#b8c9df}.inventory-table thead tr:nth-child(2) th{top:32px;height:56px;background:var(--head)}.inventory-table thead tr:first-child th[rowspan="2"]{z-index:7}.inventory-table .inventory-sticky-product,.inventory-table .inventory-sticky-model,.inventory-table .inventory-sticky-tags,.inventory-table .inventory-sticky-total{position:sticky;background:#fff;z-index:2}.inventory-table thead .inventory-sticky-product,.inventory-table thead .inventory-sticky-model,.inventory-table thead .inventory-sticky-tags,.inventory-table thead .inventory-sticky-total{background:var(--head);z-index:8}.inventory-table .inventory-sticky-product{left:0}.inventory-table .inventory-sticky-model{left:96px}.inventory-table .inventory-sticky-tags{left:164px}.inventory-table .inventory-sticky-total{left:268px;box-shadow:5px 0 8px -8px #20375899}.inventory-table td.inventory-sticky-product,.inventory-table td.inventory-sticky-model,.inventory-table td.inventory-sticky-tags,.inventory-table td.inventory-sticky-total{background:#fff}.inventory-disabled-tag{display:flex;width:fit-content;max-width:100%;margin:3px auto 0}.inventory-table .inventory-department-head th:not(:first-child){border-left:2px solid #9db4d1}.inventory-table .department-start{border-left:2px solid #9db4d1}.inventory-table td.boundary{color:#667085;background:#f8fafc;font-weight:700}.inventory-table .inventory-department-total{display:inline;margin-left:4px;color:var(--blue);font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}.inventory-table .inventory-process-total{display:block;margin-bottom:2px;color:var(--blue);font-size:11px;line-height:1.1;font-variant-numeric:tabular-nums}.inventory-table .inventory-process-total.excluded{color:var(--muted);font-size:11px;font-weight:500}.inventory-department-switcher{display:grid;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#f8fbff}.inventory-department-switcher-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;color:var(--text)}.inventory-department-switcher-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;min-width:0}.inventory-department-switcher-title>span{color:var(--muted);font-size:12px}.inventory-department-switcher-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 8px;min-height:32px;margin-left:auto}.inventory-department-switcher-actions .inventory-empty-process-toggle{display:inline-flex;align-items:center;gap:6px;height:28px;min-height:28px;padding:0 5px;color:var(--text);font-size:12px;line-height:1;white-space:nowrap;cursor:pointer}.inventory-department-switcher-actions .inventory-empty-process-toggle input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--blue)}.inventory-department-switcher-actions .text-button{display:inline-flex;align-items:center;justify-content:center;height:28px;margin-left:2px;padding:0 5px;border:0;background:transparent;color:var(--blue);font-size:12px;line-height:1;white-space:nowrap}.inventory-department-switcher-actions .text-button:hover{border:0;background:var(--blue-soft);color:var(--blue)}.inventory-department-options{display:flex;flex-wrap:wrap;gap:7px 16px}.inventory-department-option{display:inline-flex;align-items:center;gap:6px;min-height:30px;color:var(--text);font-size:13px;cursor:pointer}.inventory-department-option input{width:16px;height:16px;accent-color:var(--blue)}@media(max-width:760px){.inventory-department-switcher-head{align-items:flex-start}.inventory-department-switcher-actions{width:100%;margin-left:0;justify-content:flex-start}}.inventory-adjust-bar{background:#fff8e6;border:1px solid #f3cf73;border-radius:var(--radius);padding:10px 12px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,360px) auto;align-items:center;gap:10px}.inventory-adjust-bar div{display:grid;gap:4px}.inventory-adjust-bar span:not(.status){color:var(--muted);font-size:12px}.alert-panel{border:1px solid #f5b5ae;border-left:4px solid var(--red);background:#fff7f6;border-radius:var(--radius);padding:10px 12px;display:grid;gap:10px}.alert-panel>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.alert-panel b{color:var(--red)}.alert-panel span{color:#8a332b;font-size:12px}.abnormal-list{display:flex;gap:8px;flex-wrap:wrap}.abnormal-list button{height:28px;color:var(--red);border-color:#f1c1bd;background:#fff;font-size:12px}.return-alert{border:1px solid #f2d27b;border-left:4px solid var(--yellow);background:#fffaf0}.dashboard-grid .return-alert{grid-column:1 / -1}.return-alert h2{margin-top:0}.return-alert>p{color:#8a5b00;font-size:12px}.return-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #f2d27b}.return-row>div:first-child{min-width:0;display:grid;gap:4px}.return-row span{color:#8a5b00;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-input{width:52px;height:28px;padding:0 4px;text-align:center;font-variant-numeric:tabular-nums;border-color:#b9d0f5;background:#fff}.matrix-input:focus{outline:2px solid #cfe1ff;border-color:var(--blue)}.matrix-input-invalid{border-color:var(--red);background:#fff1f0;color:var(--red);outline:2px solid #ffd8d4}.inventory-adjustment-meta{display:grid;gap:1px;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.25;white-space:normal;font-variant-numeric:tabular-nums}.inventory-adjustment-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-input-invalid+.inventory-adjustment-meta{color:var(--red);font-weight:700}th,td{border-bottom:1px solid var(--border);padding:9px 10px;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:var(--head);color:#27364d;font-weight:700;z-index:1}tbody tr:nth-child(2n){background:#fbfcfe}tbody tr:hover{background:#eef6ff}.row-pending_confirm{background:#fff9e6}.row-rejected{background:#fff3f0}.row-voided{color:#8a94a6;background:#f5f6f8}.num{text-align:right;font-variant-numeric:tabular-nums}.quantity-cell{min-width:86px}.classification-cell{min-width:110px;max-width:160px;white-space:normal}.classification-tag{display:inline-flex;align-items:center;min-height:22px;margin:2px 3px 2px 0;padding:0 7px;border:1px solid #c9d9ed;border-radius:999px;background:#f4f8fd;color:#315d8e;font-size:11px;line-height:20px}.classification-tag b{margin-left:3px;font-variant-numeric:tabular-nums}.classification-tag-good{border-color:#86efac;background:#f0fdf4;color:#166534}.classification-tag-b-grade{border-color:#f2d27b;background:#fffbeb;color:#92400e}.classification-tag-mist{border-color:#c4b5fd;background:#f5f3ff;color:#5b21b6}.classification-tag-defective{border-color:#fca5a5;background:#fff1f2;color:#b91c1c}.classification-tag-unclassified{border-color:#cbd5e1;background:#f8fafc;color:#475569}.strong{font-weight:700}.highlight{background:#f0f7ff;color:var(--blue);font-weight:700}.ellipsis{max-width:220px;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:6px}.pagination{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.pagination div{display:flex;align-items:center;gap:8px}.pagination-page-size{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.pagination-page-size select{min-width:70px;height:30px;padding:0 7px}.status,.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;margin-right:4px}.status.pending_confirm{background:#fff3c4;color:#8a5b00}.status.editing{background:#eaf2ff;color:var(--blue)}.status.confirmed{background:#dcfce7;color:#166534}.status.rejected,.status.voided{background:#fee2e2;color:#991b1b}.status.admin_adjusted{background:#ede9fe;color:#5b21b6}.status.disabled{background:#eef1f5;color:#667085}.status.validated{background:#dcfce7;color:#166534}.status.partial,.status.pending{background:#fff3c4;color:#8a5b00}.status.failed,.status.unsupported{background:#fee2e2;color:#991b1b}.status.info{background:#eaf2ff;color:#1f5fbf}.status.warn{background:#fff3c4;color:#8a5b00}.status.danger{background:#fee2e2;color:#991b1b}.tag{background:#eaf2ff;color:var(--blue)}.tag:nth-child(2n){background:#efe7ff;color:var(--purple)}.split{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);gap:14px}.params-maintenance-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);align-items:start}.params-maintenance-grid .process-maintenance-panel{grid-column:1 / -1}.inline-form{display:flex;gap:8px;margin-bottom:10px}.inline-form input{flex:1}.config-row,.product-row,.unit-row{display:grid;grid-template-columns:minmax(100px,1fr) 170px auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.process-row{grid-template-columns:minmax(240px,1fr) 112px 128px 190px minmax(300px,1.2fr) 132px max-content;gap:8px 6px}.process-row{cursor:grab}.process-row:active{cursor:grabbing}.process-row>.process-name{min-width:0;display:flex;align-items:center;white-space:nowrap;overflow:hidden}.process-row>.process-name .muted-tag{flex:0 0 auto}.process-row select{width:100%;padding:0 6px}.process-row .process-unit-slot{min-width:0;display:flex;align-items:center}.process-row .process-unit-selector{min-width:0}.process-row .process-unit-range{height:42px;min-height:42px;padding:2px 4px;line-height:1.35}.process-row .process-unit-range option{padding:2px 4px}.process-row .process-unit-placeholder{display:flex;align-items:center;width:100%;min-height:32px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:#f7f9fc;color:var(--muted);font-size:12px}.process-row .process-actions{min-width:max-content;gap:4px;flex-wrap:nowrap;justify-content:flex-start}.process-row .process-actions button{min-width:36px;padding:0 5px;white-space:nowrap;flex:0 0 auto}.process-row.process-row-scoped{grid-template-columns:minmax(240px,1fr) max-content}.process-row.process-row-scoped .process-actions{grid-column:auto}.process-create-form select{min-width:160px}.drag-handle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:6px;color:var(--muted);border:1px solid var(--border);border-radius:4px;font-size:12px}.mini{height:26px;padding:0 6px;font-size:12px}.mini:disabled{color:#98a2b3;border-color:#e4e7ec;cursor:not-allowed}.flow-row{grid-template-columns:minmax(180px,1fr) auto;align-items:start}.flow-row span{display:grid;gap:4px}.flow-row small{color:var(--muted);line-height:1.5;word-break:break-all}.info-hint{padding:10px 12px;border:1px solid #bcd0ee;border-radius:var(--radius);background:#eef6ff;color:#315b87}.todo-total{color:var(--muted);white-space:nowrap}.todo-total b{color:var(--ink);font-size:18px}.transfer-inventory-summary{padding:10px 12px;border:1px solid #bcd0ee;border-radius:var(--radius);background:#f5f9ff;color:#315b87}.transfer-inventory-warning{padding:10px 12px;border:1px solid #f2d27b;border-left:4px solid var(--yellow);border-radius:var(--radius);background:#fff8df;color:#805b00;line-height:1.6}.panel-toolbar,.backup-panel{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-toolbar h2,.backup-panel h2{margin:0}.backup-panel{margin-bottom:14px}.backup-panel>div:first-child{flex:1}.hidden-file{display:none}.product-row{grid-template-columns:120px 1fr auto}.unit-row{grid-template-columns:minmax(120px,1fr) auto}.product-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.product-actions button{height:28px;padding:0 8px}.product-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.product-form button{grid-column:span 2;justify-self:end}.product-filter{align-items:center;margin-bottom:12px}.product-filter input{flex:1 1 260px;max-width:360px}.product-filter select{min-width:132px}.product-filter-count{margin-left:auto;color:var(--muted);white-space:nowrap}.product-filter-count b{color:var(--text);font-size:16px}.user-create input:last-child{min-width:260px;flex:1}.multi-select-picker{position:relative;min-width:0;width:100%}.multi-select-trigger{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);text-align:left}.multi-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-trigger span.is-empty{color:var(--muted)}.multi-select-trigger b{flex:0 0 auto;color:var(--muted);font-size:14px;line-height:1}.multi-select-trigger:focus-visible{border-color:var(--blue);outline:2px solid #c6dcf7;outline-offset:1px}.multi-select-picker.is-open .multi-select-trigger{border-color:var(--blue)}.multi-select-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:12;max-height:320px;overflow-y:auto;padding:7px;border:1px solid #aebfd3;border-radius:var(--radius);background:#fff;box-shadow:0 12px 28px #10182829}.multi-select-menu.multi-select-expanded-menu{position:static;z-index:auto;max-height:none;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.multi-select-expanded-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--muted);font-size:12px}.multi-select-expanded-summary strong{color:var(--text);font-size:13px}.multi-select-search-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.multi-select-search-row input{min-width:0;flex:1;min-height:30px}.multi-select-clear,.multi-select-select-all{min-height:28px;padding:3px 7px;border:1px solid var(--border);border-radius:3px;background:#f8fafc;color:var(--muted);font-size:11px;white-space:nowrap;cursor:pointer}.multi-select-clear:hover,.multi-select-select-all:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.multi-select-select-all{width:100%;margin-bottom:5px;text-align:left}.multi-select-expanded-list{max-height:min(52vh,440px);overflow-y:auto;padding:3px;border:1px solid #b8cde5;border-radius:var(--radius);background:#fbfdff}.multi-select-picker.is-expanded .multi-select-group{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:4px}.multi-select-picker.is-expanded .multi-select-group-title{grid-column:1 / -1}.multi-select-group+.multi-select-group{margin-top:6px}.multi-select-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 7px;color:var(--blue);background:#f3f7fc;font-size:11px;font-weight:700}.multi-select-group-title small{color:var(--muted);font-size:10px;font-weight:500;white-space:nowrap}.multi-select-option{min-height:34px;display:flex;align-items:center;gap:8px;padding:5px 7px;color:var(--text);cursor:pointer}.multi-select-option:hover{background:var(--blue-soft)}.multi-select-option input{width:16px;height:16px;margin:0;accent-color:var(--blue)}.multi-select-picker.is-expanded .multi-select-option{position:relative;display:flex!important;flex-direction:row;align-items:center;gap:8px;min-width:0;min-height:34px;padding:5px 7px;border-bottom:1px solid #edf1f6}.multi-select-picker.is-expanded .multi-select-option:last-child{border-bottom:0}.multi-select-picker.is-expanded .multi-select-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.multi-select-picker.is-expanded .multi-select-option:before{content:"";flex:0 0 21px;width:21px;height:21px;display:grid;place-items:center;border:2px solid #9aacc2;border-radius:4px;background:#fff;color:#fff;font-size:17px;font-weight:900;line-height:1}.multi-select-picker.is-expanded .multi-select-option.is-selected:before{content:"✔";border-color:var(--blue);background:var(--blue)}.multi-select-picker.is-expanded .multi-select-option:focus-within{outline:2px solid #c6dcf7;outline-offset:-2px}.multi-select-picker.is-expanded .multi-select-option.is-disabled:before{border-color:#cbd5e1;background:#f1f4f7}.multi-select-option.is-disabled{color:#98a2b3;cursor:not-allowed}.multi-select-option-copy{min-width:0;display:grid;gap:1px;flex:1}.multi-select-option-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-option-copy small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.multi-select-option-state{flex:0 0 auto;color:#8a6a19;font-size:10px;font-style:normal}.multi-select-picker.is-expanded .multi-select-option-state{min-width:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-empty{display:block;padding:10px 7px;color:var(--muted);font-size:12px}.user-editor-modal{width:min(720px,100%)}.user-editor-modal.user-editor-process-modal{width:min(820px,100%)}@media(max-width:760px){.multi-select-picker.is-expanded .multi-select-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.multi-select-picker.is-expanded .multi-select-group{grid-template-columns:1fr}.multi-select-expanded-summary{margin-bottom:5px}}.user-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.user-editor-head h2{margin:0}.user-editor-head .hint{margin:4px 0 0}.user-editor-field-full{grid-column:1 / -1}.warehouse-binding-notice{display:grid;gap:5px;padding:9px 10px;border:1px solid #f0d58a;border-radius:var(--radius);background:#fffaf0;color:#7a4b00}.warehouse-binding-notice.ready{border-color:#a9d9c1;background:#f1fbf5;color:#216e4e}.warehouse-binding-notice span{line-height:1.5}.warehouse-binding-notice button{justify-self:start}.transfer-source-hint{margin:8px 0 0;white-space:normal;line-height:1.5}.field-hint{color:var(--muted);font-size:11px;line-height:1.45}.user-binding-text{display:grid;gap:3px}.user-binding-text small{display:block;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.users-table-wrap{max-height:calc(100vh - 250px);overflow:auto;overscroll-behavior:contain}.users-table{min-width:1430px;table-layout:fixed}.users-table col.user-col-account,.users-table col.user-col-name{width:100px}.users-table col.user-col-role{width:110px}.users-table col.user-col-department{width:160px}.users-table col.user-col-process{width:360px}.users-table col.user-col-validity{width:150px}.users-table col.user-col-external-status{width:110px}.users-table col.user-col-status{width:72px}.users-table col.user-col-password{width:82px}.users-table col.user-col-actions{width:300px}.users-table th,.users-table td{vertical-align:top}.users-table thead th{position:sticky;top:0;z-index:3;background:var(--head)}.users-table .user-sticky-account,.users-table .user-sticky-name,.users-table .user-sticky-role{position:sticky;z-index:2;background:#fff}.users-table thead .user-sticky-account,.users-table thead .user-sticky-name,.users-table thead .user-sticky-role{z-index:5;background:var(--head)}.users-table .user-sticky-account{left:0}.users-table .user-sticky-name{left:100px}.users-table .user-sticky-role{left:200px;box-shadow:5px 0 8px -8px #20375899}.users-table tbody tr:hover .user-sticky-account,.users-table tbody tr:hover .user-sticky-name,.users-table tbody tr:hover .user-sticky-role{background:#eef6ff}.users-table .user-binding-text{display:block;max-height:76px;overflow:auto;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.5}.users-table .user-last-login{display:block;margin-top:5px;color:var(--muted);line-height:1.4}.users-table td:last-child{white-space:normal}.users-table td:last-child button{margin:2px 4px 2px 0}.user-action-note{color:var(--muted);font-size:12px}.users-filter{align-items:center}.users-filter input{width:180px}.users-filter select{min-width:136px}.users-filter-count{margin-left:auto;color:var(--muted);white-space:nowrap}.users-filter-count b{color:var(--text);font-size:16px}.users-empty{padding:28px 12px;color:var(--muted);text-align:center}.small-actions{display:flex;gap:6px;justify-content:flex-end}.small-actions button{height:28px;padding:0 8px}.muted-tag{margin-left:6px;color:#667085;background:#eef1f5;padding:2px 6px;border-radius:999px;font-size:12px;font-style:normal}.modal-mask{position:fixed;inset:0;background:#0f172a6b;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(680px,100%);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:grid;gap:14px}.batch-transfer-modal{width:min(1500px,calc(100vw - 32px));height:min(calc(100vh - 32px),920px);max-height:calc(100vh - 32px);overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto auto}.batch-transfer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.batch-transfer-head h2{margin:0}.batch-transfer-head p{margin:6px 0 0}.form-grid.batch-transfer-common-fields{grid-template-columns:minmax(220px,1.35fr) minmax(220px,1.35fr) minmax(160px,.9fr) minmax(120px,.75fr) minmax(150px,.9fr);align-items:end}.batch-transfer-common-fields>label{min-width:0}.batch-transfer-error{margin:0;white-space:normal;line-height:1.5}.batch-transfer-table-section{min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden}.batch-transfer-table-wrap{min-width:0;max-height:none;overflow:auto;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:var(--radius)}.batch-transfer-table-section .batch-transfer-table-wrap{flex:1 1 auto;min-height:0;max-height:none}.batch-transfer-table{min-width:1360px;table-layout:fixed}.batch-transfer-table th,.batch-transfer-table td{padding:7px 6px;vertical-align:top}.batch-transfer-table th:nth-child(1),.batch-transfer-table td:nth-child(1){width:44px;text-align:center}.batch-transfer-table th:nth-child(2),.batch-transfer-table td:nth-child(2){width:190px}.batch-transfer-table th:nth-child(3),.batch-transfer-table td:nth-child(3){width:126px}.batch-transfer-table th:nth-child(4),.batch-transfer-table td:nth-child(4),.batch-transfer-table th:nth-child(5),.batch-transfer-table td:nth-child(5),.batch-transfer-table th:nth-child(6),.batch-transfer-table td:nth-child(6),.batch-transfer-table th:nth-child(7),.batch-transfer-table td:nth-child(7){width:78px}.batch-transfer-table th:nth-child(8),.batch-transfer-table td:nth-child(8){width:64px;text-align:center}.batch-transfer-table th:nth-child(9),.batch-transfer-table td:nth-child(9){width:132px}.batch-transfer-table th:nth-child(10),.batch-transfer-table td:nth-child(10){width:190px}.batch-transfer-table th:nth-child(11),.batch-transfer-table td:nth-child(11){width:116px}.batch-transfer-table input{width:100%;min-width:0;box-sizing:border-box}.batch-transfer-table .searchable-select{min-width:0}.batch-transfer-index{color:var(--muted);font-variant-numeric:tabular-nums}.batch-transfer-available{color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}.batch-transfer-available small{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:normal;line-height:1.35}.batch-transfer-quantity input{text-align:right}.batch-transfer-total{color:var(--text);font-variant-numeric:tabular-nums}.batch-transfer-actions{white-space:nowrap}.batch-transfer-actions button{margin-right:4px}.batch-transfer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.batch-transfer-toolbar span{min-width:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:6px;color:var(--muted)}.classification-editor{display:grid;gap:8px;padding:10px;border:1px solid #d8e4f4;background:#f8fbff;border-radius:var(--radius)}.classification-editor-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.classification-editor-head b{color:var(--text)}.classification-editor-head span{color:var(--muted);font-size:12px}.classification-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.classification-grid label{min-width:0;font-size:12px}.classification-grid input{min-width:0}.modal footer{display:flex;justify-content:flex-end;gap:8px}.upload-box{min-height:120px;border:1px dashed #9bb6db;background:#f8fbff;display:grid;place-items:center;gap:6px;text-align:center;color:var(--blue);border-radius:var(--radius);cursor:pointer;padding:14px}.upload-box input{display:none}.upload-box span{color:var(--muted);font-size:12px}.import-result{border:1px solid var(--border);background:#fbfdff;border-radius:var(--radius);padding:12px;display:grid;gap:8px}.import-result p{color:var(--muted)}.import-result ul{margin:0;padding-left:18px;color:var(--red);display:grid;gap:4px}.toast{position:fixed;right:20px;bottom:20px;background:#101828;color:#fff;padding:12px 16px;border-radius:var(--radius);box-shadow:var(--shadow);z-index:20}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(420px,100%);background:#fff;border-left:1px solid var(--border);box-shadow:var(--shadow);z-index:15;display:grid;grid-template-rows:auto 1fr auto}.drawer header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px;border-bottom:1px solid var(--border)}.drawer header p{color:var(--muted);margin-top:6px}.drawer-body{min-height:0;overflow:auto}.detail-grid{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:18px;align-content:start}.detail-grid span{color:var(--muted)}.detail-grid b{white-space:normal;word-break:break-word}.detail-classification{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.detail-classification>span{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:6px 8px;border:1px solid #d8e3ef;border-radius:3px;background:#f8fbfe}.detail-classification small{color:var(--muted);font-size:11px}.detail-classification b{color:#1f4f8f;font-variant-numeric:tabular-nums}.timeline{border-top:1px solid var(--border);padding:16px 18px 18px;display:grid;gap:10px}.timeline h3{margin:0;font-size:15px}.timeline article{position:relative;display:grid;grid-template-columns:108px 1fr auto;gap:6px 10px;padding:10px 0 10px 14px;border-bottom:1px solid var(--border)}.timeline article:before{content:"";position:absolute;left:0;top:16px;width:7px;height:7px;border-radius:999px;background:var(--blue)}.timeline article span,.timeline article em{color:var(--muted);font-size:12px;font-style:normal}.timeline article b{color:var(--text)}.timeline article p{grid-column:2 / 4;color:var(--muted);line-height:1.6;word-break:break-word}.drawer-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--border)}.trial-summary-cards b{font-variant-numeric:tabular-nums}.trial-filter input:first-child{width:150px}.trial-filter input:nth-last-of-type(1){flex:1;min-width:230px}.trial-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trial-card{min-width:0;background:#fff;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius);padding:14px;display:grid;gap:12px}.trial-card.urgent{border-left-color:var(--red)}.trial-card.trial-pending_acceptance,.trial-card.trial-pending_issue,.trial-card.trial-pending_receipt,.trial-card.trial-result_submitted{background:#fffdf5}.trial-card.trial-completed{border-left-color:var(--green)}.trial-card.trial-rejected,.trial-card.trial-cancelled{border-left-color:#98a2b3;background:#f8fafc}.trial-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.trial-card header>div:first-child{min-width:0;display:grid;gap:4px}.trial-card h2{margin:0;font-size:18px}.trial-card h2 em{color:var(--muted);font-size:13px;font-style:normal;font-weight:500}.trial-card header p,.trial-no{color:var(--muted);font-size:12px}.trial-no{font-variant-numeric:tabular-nums}.trial-card-status{flex:0 0 auto;display:grid;justify-items:end;gap:7px}.trial-card-status strong{font-size:24px;font-variant-numeric:tabular-nums}.trial-route{background:#f5f8fc;border:1px solid #e4eaf2;border-radius:var(--radius);padding:8px 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}.trial-route span{color:var(--blue)}.trial-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;color:var(--muted);font-size:12px}.trial-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trial-reconcile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.trial-reconcile span{background:#f5f8fc;border-radius:var(--radius);padding:7px 8px;color:var(--muted);text-align:center;font-size:12px}.trial-reconcile b{color:var(--text);display:block;margin-top:2px;font-size:16px;font-variant-numeric:tabular-nums}.trial-card footer{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px}.trial-modal{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto}.trial-action-modal{width:min(640px,100%)}.span-2{grid-column:1 / -1}.quantity-check{border:1px solid #bcd0ee;border-radius:var(--radius);background:#eef6ff;color:#315b87;padding:10px 12px}.trial-action-context{color:var(--muted);background:#f5f8fc;border-radius:var(--radius);padding:8px 10px}.trial-drawer{width:min(520px,100%)}.trial-result-box{margin:0 18px 18px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdff;padding:14px;display:grid;gap:12px}.trial-result-box h3{margin:0;font-size:15px}.trial-result-box p{color:var(--muted);line-height:1.7}.trial-drawer .alert-panel{margin:0 18px 18px}.status.pending_acceptance,.status.pending_issue,.status.pending_receipt,.status.result_submitted{background:#fff3c4;color:#8a5b00}.status.in_trial{background:#eaf2ff;color:var(--blue)}.status.completed{background:#dcfce7;color:#166534}.status.cancelled{background:#eef1f5;color:#667085}@media(max-width:1366px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.split{grid-template-columns:1fr}.params-maintenance-grid .process-maintenance-panel{grid-column:auto}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .panel:first-child{grid-row:auto}.inventory-adjust-bar{grid-template-columns:1fr;align-items:stretch}.trial-board{grid-template-columns:1fr}}@media(max-width:1050px){.form-grid.batch-transfer-common-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.dashboard-priority-strip{grid-template-columns:1fr 1fr}.dashboard-priority-lead{grid-column:1 / -1;border-right:0!important;border-bottom:1px solid #d6e1ec}.batch-transfer-modal{width:min(100%,calc(100vw - 20px));height:calc(100vh - 20px);max-height:calc(100vh - 20px);padding:12px}.batch-transfer-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.form-grid.batch-transfer-common-fields{grid-template-columns:1fr}}@media(max-width:720px){.todo-filter-bar .todo-keyword-filter{flex-basis:100%;max-width:none}.todo-filter-bar select{flex:1 1 calc(50% - 4px);min-width:0}.product-filter input{flex-basis:100%;max-width:none}.product-filter select{flex:1 1 calc(50% - 4px);min-width:0}.product-filter-count{margin-left:0}.todo-table th:last-child,.todo-table td:last-child{position:static;box-shadow:none}}@media(max-width:1500px){.process-row{grid-template-columns:minmax(220px,1fr) 108px 120px 180px minmax(240px,1.1fr) 126px}.process-row .process-actions{grid-column:1 / -1}.process-row.process-row-scoped{grid-template-columns:minmax(220px,1fr) max-content}.process-row.process-row-scoped .process-actions{grid-column:auto}}@media(max-width:1100px){.process-row{grid-template-columns:minmax(180px,1fr) 108px 120px 180px}.process-row .process-unit-slot,.process-row .process-entry-mode,.process-row .process-actions{grid-column:1 / -1}.process-row.process-row-scoped{grid-template-columns:minmax(180px,1fr) max-content}.process-row.process-row-scoped .process-actions{grid-column:auto}.process-row .process-unit-slot,.process-row .process-unit-selector{max-width:100%}.process-row .process-entry-mode{width:min(240px,100%)}}button:disabled{opacity:.58;cursor:not-allowed}.cards .good b{color:var(--green)}.plan-module{min-width:0;display:grid;gap:14px}.plan-form-note{align-self:end;color:var(--muted);font-size:12px;line-height:1.5}.plan-product-picker{display:flex;align-items:center;gap:6px}.plan-product-picker select{min-width:0;flex:1}.plan-product-picker button{flex:0 0 auto;white-space:nowrap}.checkbox-field{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-height:38px}.checkbox-field input{width:16px;height:16px}.plan-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.plan-page-head p{color:var(--muted);margin-top:6px;line-height:1.6}.plan-toolbar-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.plan-current-plan-chip{display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:center;min-height:38px;padding:6px 10px;border:1px solid var(--border);background:var(--blue-soft)}.plan-current-plan-chip span{color:var(--muted);font-size:11px}.plan-current-plan-chip b{color:var(--accent);font-size:13px}.plan-current-plan-chip small{grid-column:1 / -1;color:var(--muted);font-size:11px;white-space:nowrap}.plan-current-plan-notice{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;border-left:3px solid var(--blue);background:var(--blue-soft)}.plan-current-plan-notice b{white-space:nowrap}.plan-current-plan-notice span{flex:1;color:var(--muted);font-size:12px}.plan-filter-label{display:grid;gap:5px;color:var(--muted);font-size:12px}.plan-change-reason{display:grid;gap:5px;min-width:220px;color:var(--muted);font-size:12px}.plan-change-reason span,.schedule-new-plan-reason span{color:#8a5b00}.plan-kpi-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-kpi-cards article{min-width:0}.plan-kpi-cards article small{color:var(--muted);line-height:1.5}.plan-main-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,1fr);gap:14px;align-items:start}.plan-secondary-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.8fr);gap:14px;align-items:start}.plan-secondary-single{grid-template-columns:minmax(0,1fr)}.plan-overview-panel,.plan-versions-panel,.plan-todo-panel,.plan-notification-panel,.plan-change-history-panel,.plan-returns-panel{min-width:0}.plan-overview-panel .plan-table-wrap{max-height:min(520px,calc(100vh - 380px));overflow:auto}.plan-overview-panel .plan-table-wrap thead th{position:sticky;top:0;z-index:2;background:#f8fafc;box-shadow:inset 0 -1px 0 var(--border)}.plan-overview-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding-top:8px;color:var(--muted);font-size:12px}.plan-overview-pagination label{display:inline-flex;align-items:center;gap:5px}.plan-overview-pagination select{height:28px;padding:0 7px;background:#fff}.plan-overview-page-controls{display:inline-flex;align-items:center;gap:7px}.plan-overview-page-controls button{width:28px;height:28px;padding:0;font-size:18px;line-height:1}.plan-analytics-dashboard{min-width:0;display:grid;gap:12px}.plan-analytics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.plan-analytics-head h2{margin:0 0 4px}.plan-chart-scope{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-chart-scope button{height:30px;padding:0 10px;background:#fff;color:var(--muted)}.plan-chart-scope button.active{background:var(--blue);border-color:var(--blue);color:#fff}.plan-dashboard-filters{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid #dfe7f0;background:#f8fafc}.plan-dashboard-filters label{display:grid;gap:4px;min-width:150px;color:var(--muted);font-size:11px}.plan-dashboard-filters select{min-width:150px;height:30px;padding:0 9px;background:#fff}.plan-dashboard-reset{height:30px;padding:0 10px}.plan-chart-filter-chip{display:inline-flex;align-items:center;height:30px;padding:0 9px;border:1px solid #b9d2ec;background:#eef6ff;color:#315b87;font-size:11px;white-space:nowrap}.plan-chart-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:12px}.plan-chart-panel{min-width:0;display:grid;gap:8px;overflow:hidden}.plan-trend-panel{grid-column:1 / -1}.plan-chart-panel-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.plan-chart-panel-head div{min-width:0;display:grid;gap:3px}.plan-chart-panel-head h3{margin:0;color:var(--text);font-size:14px}.plan-chart-panel-head span{color:var(--muted);font-size:11px}.plan-chart-panel-actions{display:flex!important;align-items:center;gap:10px!important}.plan-chart-drilldown{height:28px;padding:0 9px;white-space:nowrap}.plan-chart-legend{display:flex!important;align-items:center;gap:10px!important;white-space:nowrap}.plan-chart-legend span{display:inline-flex;align-items:center;gap:5px}.plan-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8b98a9}.plan-legend-plan{background:#8fb2d4}.plan-legend-net{background:#63b08d}.plan-legend-department-plan{background:#8fb2d4}.plan-legend-department-net{background:#2f6fba}.plan-chart-scroll{min-width:0;overflow-x:auto;overflow-y:hidden}.plan-trend-chart{display:block;width:100%;min-width:760px;height:auto}.plan-chart-gridline{stroke:#e7edf4;stroke-width:1;stroke-dasharray:3 4}.plan-chart-axis{stroke:#b8c5d2;stroke-width:1}.plan-chart-axis-label,.plan-chart-category-label,.plan-chart-value-label{fill:#667085;font-size:11px}.plan-chart-category-label{fill:var(--text);font-weight:600}.plan-chart-value-label{fill:#475467;font-size:10px}.plan-chart-bar{transition:opacity .15s ease}.plan-department-chart-item{cursor:pointer;outline:none}.plan-department-chart-item:hover .plan-department-target,.plan-department-chart-item:focus .plan-department-target{fill:#c9dced;stroke:#2f6fba}.plan-department-chart-item:hover .plan-department-net,.plan-department-chart-item:focus .plan-department-net{fill:#1f5fbf}.plan-department-chart-item:focus .plan-chart-category-label{fill:var(--blue)}.plan-department-chart-item-selected .plan-department-target{stroke:#1f5fbf;stroke-width:3.5}.plan-department-chart-item-selected .plan-department-net{fill:#1f5fbf}.plan-department-chart-item-selected .plan-chart-category-label{fill:var(--blue)}.plan-department-target{fill:#dbe8f5;stroke:#8fb2d4;stroke-width:2.5px;transition:fill .15s ease,stroke .15s ease}.plan-department-net{fill:#2f6fba;transition:fill .15s ease,opacity .15s ease}.plan-trend-bar-group{cursor:pointer;outline:none}.plan-trend-target{fill:#dbe8f5;stroke:#8fb2d4;stroke-width:1;transition:fill .15s ease,stroke .15s ease}.plan-trend-actual{fill:#63b08d;transition:fill .15s ease,opacity .15s ease}.plan-trend-bar-group:hover .plan-trend-target,.plan-trend-bar-group:focus .plan-trend-target{fill:#c9dced;stroke:#2f6fba}.plan-trend-bar-group:hover .plan-trend-actual,.plan-trend-bar-group:focus .plan-trend-actual{fill:#2c8a63}.plan-trend-day-selected .plan-trend-target{stroke:#1f5fbf;stroke-width:2}.plan-trend-day-selected .plan-trend-actual{fill:#216e4e}.plan-chart-empty{display:grid;gap:4px;padding:24px 14px;border:1px dashed #c9d6e5;background:#fbfdff;color:var(--muted);font-size:12px}.plan-chart-empty b{color:var(--text);font-size:13px}.plan-status-content{display:grid;grid-template-columns:minmax(150px,180px) minmax(0,1fr);align-items:center;gap:12px;min-height:190px}.plan-status-chart{display:block;width:160px;height:160px;margin:0 auto}.plan-status-track,.plan-status-segment{fill:none;stroke-width:20}.plan-status-track{stroke:#edf1f5}.plan-status-segment{transform:rotate(-90deg);transform-origin:80px 80px}.plan-status-total{fill:var(--text);font-size:24px;font-weight:700}.plan-status-caption{fill:var(--muted);font-size:11px}.plan-status-list{display:grid;gap:9px;min-width:0}.plan-status-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding-bottom:8px;border-bottom:1px solid #edf1f5}.plan-status-item:last-child{padding-bottom:0;border-bottom:0}.plan-status-item>span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:12px;font-weight:600}.plan-status-item>b{color:var(--text);font-size:14px}.plan-status-item small{grid-column:1 / -1;color:var(--muted);font-size:11px}.plan-department-chart{display:block;width:100%;min-width:0;max-width:100%;height:auto}.plan-delay-chart-list{display:grid;gap:12px;padding:3px 0}.plan-delay-chart-row{display:grid;gap:5px;padding:5px 6px;border:1px solid transparent;border-radius:4px;cursor:pointer}.plan-delay-chart-row:hover,.plan-delay-chart-row:focus-visible{border-color:#b9d2ec;background:#f4f8fc;outline:none}.plan-delay-chart-row-selected{border-color:#7ca9d8;background:#eef6ff}.plan-delay-chart-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:12px}.plan-delay-chart-label span{color:var(--muted);white-space:nowrap}.plan-delay-chart-track{position:relative;height:12px;overflow:hidden;border-radius:2px;background:#eef2f6}.plan-delay-chart-track span{position:absolute;top:0;bottom:0;display:block;min-width:0}.plan-delay-bar-normal{background:#d7a83b}.plan-delay-bar-severe{background:#c94c4c}.plan-maintenance-notification-panel{margin-top:0}.plan-state{min-height:150px;display:grid;place-content:center;gap:6px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted)}.plan-state b{color:var(--text);font-size:15px}.plan-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.procurement-inline-loading{padding:7px 10px;border:1px solid #cfe0f2;background:#f6faff;color:#486581;font-size:12px}.procurement-main-error{margin-bottom:0}.procurement-side-state{padding:12px;color:var(--muted);font-size:12px}.procurement-side-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 12px;padding:8px 10px}.procurement-side-inline-state,.procurement-side-inline-error{display:inline-flex;align-items:center;gap:6px}.procurement-side-inline-error{color:var(--red)}.plan-table-wrap{max-height:470px;overflow:auto}.plan-table{min-width:1040px;font-size:12px}.plan-table th,.plan-table td{padding:8px 9px}.plan-table tfoot{background:#f5f8fc}.plan-table tfoot th{position:static;background:#f5f8fc}.plan-table small,.plan-version-summary small,.plan-version-detail-head span,.plan-notification-list small{display:block;color:var(--muted);font-size:11px;line-height:1.5}.plan-negative{color:var(--red);font-weight:700}.plan-positive{color:var(--green);font-weight:700}.plan-create-form,.plan-line-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.plan-create-form label,.plan-line-form label{display:grid;gap:5px;color:var(--muted);font-size:12px}.plan-create-form button,.plan-line-form button{align-self:end}.plan-form-wide{grid-column:1 / -1}.plan-version-list{display:grid;gap:6px}.plan-version-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfdff}.plan-version-row.selected{border-color:#9fbee9;background:#f0f7ff}.plan-version-summary{min-width:0;display:grid;gap:3px}.plan-version-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-version-summary .status{justify-self:start}.plan-version-row .small-actions{flex:0 0 auto;flex-wrap:wrap}.plan-version-detail{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.plan-version-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.plan-version-detail-head div{display:grid;gap:4px}.plan-version-detail-head span{white-space:normal}.plan-version-lines{max-height:260px}.plan-line-form{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 0 10px}.plan-line-form button{grid-column:3}.machine-template-editor{display:grid;gap:10px;padding:12px;border:1px solid #c8d8ea;background:#f8fbff;border-radius:var(--radius)}.template-editor-head,.template-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.template-editor-head h3{margin:0 0 4px;font-size:15px}.template-product-meta{color:var(--blue);font-weight:700}.template-setup-grid,.template-target-builder{display:grid;grid-template-columns:minmax(170px,1fr) minmax(190px,1fr) minmax(230px,1.5fr) auto;gap:8px;align-items:end}.template-setup-grid label,.template-target-builder label{display:grid;gap:5px;color:var(--muted);font-size:12px}.template-selection-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-top:2px}.template-selection-heading b{color:var(--text);font-size:13px}.template-selection-heading span{color:var(--muted);font-size:12px}.template-candidate-board{min-width:0;overflow:auto;border:1px solid var(--border);background:#fff}.template-candidate-head{display:flex;align-items:baseline;gap:10px;padding:9px 10px;border-bottom:1px solid var(--border);background:#f5f8fc}.template-candidate-head b{color:var(--text);font-size:13px}.template-candidate-head span{color:var(--muted);font-size:12px}.template-candidate-board input[type=checkbox]{width:16px;height:16px}.legacy-template-target-builder{display:none}.template-note-field{min-width:0}.template-target-list{display:flex;gap:6px;flex-wrap:wrap}.template-target-board{min-width:0;overflow:auto;border:1px solid var(--border);background:#fff}.template-target-table{min-width:720px}.template-target-table th,.template-target-table td{padding:7px 9px}.template-target-row{cursor:grab}.template-target-row:active{cursor:grabbing}.template-target-row:hover{background:#f7fbff}.template-target-row.template-target-dragging{opacity:.45;border-style:dashed}.template-target-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #b8cde5;border-radius:4px;background:#fff;color:#315b87;font-size:12px;cursor:grab;user-select:none}.template-target-chip:active{cursor:grabbing}.template-target-chip.template-target-dragging{opacity:.45;border-style:dashed}.template-target-order{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e8f1fb;color:#315b87;font-size:11px;font-weight:700}.template-target-grip{color:#8aa2bb;font-size:14px;line-height:1}.template-target-chip button{min-height:20px;padding:0 4px;border:0;color:var(--muted);background:transparent}.machine-template-table{max-height:510px;overflow:auto}.template-matrix-caption{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--border);background:#f5f8fc;color:var(--muted);font-size:12px}.template-matrix-caption b{color:var(--text);font-size:13px}.machine-template-table .plan-table{min-width:1240px}.template-sticky-col{position:sticky!important;left:0;z-index:2;min-width:150px;background:#f5f8fc;text-align:left}.template-date-head{min-width:62px;white-space:nowrap}.template-plan-cell{position:relative;min-width:64px;padding:4px!important;background:#fff}.template-plan-cell input{width:58px;min-height:28px;padding:4px;text-align:right;border:1px solid transparent;background:transparent}.template-plan-cell input:focus{border-color:#8eb3df;background:#f8fbff;outline:0}.template-plan-cell input.template-cell-has-actual{border-bottom-color:#62a17a}.template-copy-button{position:absolute;right:1px;bottom:1px;min-height:16px;padding:0 2px;border:0;color:#8aa2bb;background:transparent;font-size:11px}.template-actual-row th,.template-actual-row td{color:#315b87;background:#f4f8fd}.template-difference-row th,.template-difference-row td{color:var(--muted);background:#fbfcfe}.plan-responsibility{display:block;color:#8a5b00;font-weight:700}.plan-delayed-row{background:#fff7f6!important}.plan-delay-text{color:var(--red)!important;font-weight:700}.plan-footnote{margin-top:10px;color:#8a332b;font-size:12px}.plan-delay-groups{display:grid;gap:7px}.plan-delay-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}.plan-delay-group-head{width:100%;display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:0;border-bottom:1px solid transparent;background:#fbfdff;color:var(--text);text-align:left;cursor:pointer}.plan-delay-group-head:hover{background:#f3f8fe}.plan-delay-toggle{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #b8cde5;border-radius:3px;color:var(--blue);font-weight:700}.plan-delay-group-head .delay-counts{color:var(--muted);font-size:12px}.plan-delay-group-head .hint{margin-left:auto;white-space:nowrap}.plan-delay-group-body{display:grid;gap:10px;padding:10px;border-top:1px solid var(--border);background:#fff}.plan-delay-process-table{min-width:720px}.plan-delay-report-form{display:grid;gap:8px;padding:10px;border:1px solid #c8d8ea;background:#f7fbff;border-radius:var(--radius)}.plan-delay-report-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.plan-delay-factor-list{display:flex;gap:12px;flex-wrap:wrap}.plan-delay-factor-list label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.plan-delay-factor-list input{width:15px;height:15px}.plan-delay-report-fields{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end}.plan-delay-report-fields label{display:grid;gap:5px;color:var(--muted);font-size:12px}.plan-delay-report-wide{min-width:0}.plan-delay-report-fields textarea{resize:vertical;min-height:32px}.plan-delay-report-readonly{display:grid;gap:5px;padding:9px 10px;color:var(--muted);background:#f7f9fc;border:1px solid var(--border);font-size:12px;line-height:1.6}.plan-delay-report-readonly b{color:var(--text)}.plan-delay-report-readonly span{display:block}.plan-delay-report-readonly small{color:var(--muted)}.plan-daily-delay-panel{grid-column:1 / -1;min-width:0;display:grid;gap:12px;padding:14px;border-color:#cdd9e6}.plan-daily-delay-toolbar{align-items:flex-start}.plan-daily-delay-toolbar>div:first-child{min-width:0;display:grid;gap:4px}.plan-daily-delay-toolbar h2{margin:0}.plan-daily-delay-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.plan-daily-delay-actions button{min-height:28px;height:28px;padding:0 8px;font-size:12px}.plan-daily-delay-filters{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end;padding:10px;border:1px solid #d6e1ec;background:#f8fbfe}.plan-daily-delay-filters>label{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.plan-daily-delay-filters>label input,.plan-daily-delay-filters>label select{width:100%;min-width:0}.plan-daily-filter{position:relative;min-width:0;display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.plan-daily-filter>button{width:100%;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.plan-daily-filter-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;min-width:180px;max-height:248px;overflow-y:auto;display:grid;gap:2px;padding:5px;border:1px solid #b9c8d8;border-radius:4px;background:#fff;box-shadow:0 10px 24px #11182724}.plan-daily-filter-menu>button{justify-self:start;min-height:25px;height:25px;padding:0 7px;font-size:11px}.plan-daily-filter-menu>label{min-height:29px;display:flex;align-items:center;gap:7px;padding:4px 6px;color:var(--text);font-size:12px;font-weight:500;cursor:pointer}.plan-daily-filter-menu>label:hover{background:#f1f6fb}.plan-daily-filter-menu input,.plan-daily-only-overdue input{width:15px!important;height:15px;margin:0;padding:0}.plan-daily-number-filter input{text-align:right}.plan-daily-only-overdue{align-self:center!important;display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:6px!important;min-height:32px;white-space:nowrap}.plan-daily-delay-filters>.ghost{min-height:32px;white-space:nowrap}.plan-daily-column-settings{position:relative;z-index:2;display:grid;gap:8px;padding:10px;border:1px solid #b8cde5;background:#f7fbff}.plan-daily-column-settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-daily-column-settings-head button{min-height:26px;height:26px;padding:0 7px;font-size:11px}.plan-daily-column-list{display:flex;gap:6px;flex-wrap:wrap}.plan-daily-column-list>label{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:11px;cursor:grab;user-select:none}.plan-daily-column-list>label:hover{border-color:#8eb3df;background:#f8fbff}.plan-daily-column-list>label input{width:15px;height:15px;margin:0}.plan-daily-column-list>label small{color:var(--muted);font-size:10px}.plan-daily-column-grip{color:#8aa2bb;font-size:14px;line-height:1}.plan-daily-delay-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #d6e1ec;background:#f8fbfe}.plan-daily-delay-summary>span{min-width:0;display:grid;gap:3px;padding:9px 11px;border-right:1px solid #d6e1ec}.plan-daily-delay-summary>span:last-child{border-right:0}.plan-daily-delay-summary b{color:var(--muted);font-size:11px}.plan-daily-delay-summary em{color:var(--text);font-size:17px;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}.plan-daily-delay-summary.mixed{display:flex;gap:8px;flex-wrap:wrap;padding:8px}.plan-daily-delay-summary.mixed>span{min-width:230px;flex:1;display:flex;align-items:baseline;gap:10px;padding:7px 9px;border:1px solid #d6e1ec;background:#fff}.plan-daily-delay-summary.mixed em{font-size:13px}.plan-daily-department-list{display:grid;gap:10px}.plan-daily-department-section{min-width:0;overflow:hidden;border:1px solid #cdd9e6;border-left:4px solid #6f9ed0;background:#fff}.plan-daily-department-head{width:100%;min-width:0;min-height:48px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;border-bottom:1px solid transparent;border-radius:0;background:#f7faff;color:var(--text);text-align:left;cursor:pointer}.plan-daily-department-head:hover,.plan-daily-department-head:focus-visible{background:#eef6ff;outline:none}.plan-daily-department-head strong{flex:0 0 auto;font-size:14px}.plan-daily-toggle{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #8ba9c7;border-radius:3px;background:#eef6ff;color:#315b87;font-weight:700}.plan-daily-department-summary{min-width:0;flex:1;overflow:hidden;color:#315b87;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.plan-daily-department-head .hint{flex:0 0 auto;white-space:nowrap}.plan-daily-department-body{min-width:0;display:grid;gap:9px;padding:10px;border-top:1px solid #cdd9e6;background:#fff}.plan-daily-object-summary{display:flex;gap:7px;flex-wrap:wrap}.plan-daily-object-summary span{padding:5px 8px;border:1px solid #d6e1ec;background:#f8fbfe;color:#315b87;font-size:11px}.plan-daily-delay-table-wrap{max-height:min(460px,calc(100vh - 430px));border-color:#d6e1ec}.plan-daily-delay-table{min-width:1420px}.plan-daily-delay-table thead th{position:sticky;top:0;z-index:2;background:#f5f8fc;box-shadow:inset 0 -1px 0 var(--border)}.plan-daily-delay-table th,.plan-daily-delay-table td{padding:7px 8px}.plan-daily-delay-table tbody tr.plan-daily-overdue-row{background:#fff8f6}.plan-daily-delay-table tbody tr.plan-daily-overdue-row:hover{background:#fff1ee}.plan-daily-delay-table .plan-daily-note-cell{min-width:220px;max-width:300px;overflow:visible;white-space:normal;word-break:break-word;line-height:1.5;vertical-align:top}.plan-daily-note-action-head,.plan-daily-note-action{position:sticky;right:0;z-index:3;min-width:74px;background:#fff;box-shadow:-3px 0 5px #1118270f}.plan-daily-delay-table thead .plan-daily-note-action-head{z-index:4;background:#f5f8fc}.plan-daily-note-action{text-align:center}.plan-daily-note-action .table-action{min-height:26px;height:26px;padding:0 7px;border-color:#b7cbe3;background:#f4f8fd;color:var(--blue);font-size:11px}.plan-daily-department-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px}.plan-daily-department-foot span:first-child{color:var(--text);font-weight:600}.plan-daily-note-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0f172a6b}.plan-daily-note-dialog{width:min(620px,100%);display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.plan-daily-note-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.plan-daily-note-dialog-head h3{margin:0 0 4px;font-size:16px}.plan-daily-note-dialog-head p{color:var(--muted);font-size:12px;line-height:1.6}.plan-daily-note-dialog-head .icon-button{flex:0 0 30px;width:30px;height:30px;padding:0;font-size:20px;line-height:1}.plan-daily-note-factors{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}.plan-daily-note-factors label{display:inline-flex;align-items:center;gap:5px;color:var(--text);cursor:pointer}.plan-daily-note-factors input{width:15px;height:15px;margin:0}.plan-daily-note-dialog>label{display:grid;gap:5px;color:var(--muted);font-size:12px}.plan-daily-note-dialog textarea{width:100%;min-height:84px;resize:vertical;line-height:1.55}.plan-daily-note-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.danger-text{color:var(--red)!important;font-weight:700}.plan-schedule-range-strip{display:grid;gap:9px;padding:10px 12px;border:1px solid #b8cde5;background:#f7fbff}.plan-schedule-range-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.plan-schedule-range-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;align-items:stretch}.plan-schedule-range-month{min-width:0;height:auto;min-height:78px;display:grid;align-content:start;gap:6px;padding:9px 10px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.plan-schedule-range-month:hover,.plan-schedule-range-month.active{border-color:#6f9ed0;background:#edf6ff}.plan-schedule-range-month span,.plan-schedule-range-month small{color:var(--muted);font-size:11px;line-height:1.45}.plan-range-month-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.plan-range-month-header>b{flex:0 0 auto;color:var(--text);font-size:14px}.plan-range-month-version{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.plan-range-month-metrics{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.plan-range-month-metrics>span{display:inline-flex;align-items:baseline;gap:5px}.plan-range-month-metrics b{color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}.plan-range-change-summary{color:#8a5a00!important}.plan-schedule-notice-bar{min-width:0;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px 5px 11px;border:1px solid #e4c878;background:#fffdf7}.plan-schedule-notice-summary{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#8a6a19;font-size:12px}.plan-schedule-notice-summary>b{flex:0 0 auto;color:#6e4c00;font-size:13px}.plan-schedule-notice-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-schedule-notice-trigger{flex:0 0 auto;min-height:30px;padding:4px 10px;border-color:#e4c878;background:#fff8df;color:#6e4c00}.plan-schedule-notice-trigger:hover,.plan-schedule-notice-trigger:focus-visible{border-color:#c89e32;background:#fff1bd;color:#573b00}.plan-notification-list{display:grid;gap:0;max-height:410px;overflow:auto}.plan-notification-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.plan-notification-list article:last-child{border-bottom:0}.plan-notification-list article>div{min-width:0;display:grid;gap:3px}.plan-notification-list article p{color:var(--muted);font-size:12px;line-height:1.6;white-space:normal;word-break:break-word}.plan-notification-list article.unread{border-left:3px solid var(--blue);padding-left:8px;background:#fbfdff}.plan-maintenance-notification-panel .plan-notification-list{max-height:360px}.plan-maintenance-notification-panel .plan-notification-list article{padding:11px 2px}.plan-change-history-table-wrap{max-height:430px;overflow:auto}.plan-change-history-table{min-width:1120px}.plan-change-history-table th,.plan-change-history-table td{white-space:nowrap}.plan-change-history-table .plan-change-reason{white-space:normal;min-width:220px;max-width:360px}.plan-return-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px}.plan-subsection{min-width:0}.plan-subsection h3{margin:0 0 9px;font-size:14px}.plan-return-context{color:#315b87;background:#eef6ff;border:1px solid #bcd0ee;border-radius:var(--radius);padding:9px 10px;line-height:1.6}.plan-return-modal{width:min(700px,100%)}.plan-main-single{grid-template-columns:minmax(0,1fr)}.procurement-page{display:grid;gap:14px}.procurement-page-head{align-items:center}.procurement-page-head h1{margin:0}.procurement-page-head p{max-width:680px}.procurement-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.procurement-nav-card{min-width:0;min-height:82px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text);display:flex;align-items:center;gap:11px;text-align:left}.procurement-nav-card:hover,.procurement-nav-card.selected{border-color:#8eb3df;background:#f4f8fd}.procurement-nav-card.selected{box-shadow:inset 3px 0 0 var(--blue)}.procurement-nav-icon{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:4px;background:#e8f1fb;color:var(--blue);font-weight:800}.procurement-nav-card-body{min-width:0;flex:1;display:grid;gap:4px}.procurement-nav-card-body b{overflow-wrap:anywhere}.procurement-nav-card-body small{color:var(--muted)}.procurement-nav-arrow{flex:0 0 auto;color:#8aa2bb;font-size:22px;line-height:1}.procurement-boundary-panel{display:grid;gap:12px}.procurement-boundary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.procurement-boundary-head h2{margin:3px 0 0;font-size:18px}.eyebrow{color:var(--muted);font-size:11px}.procurement-boundary-panel>p{max-width:860px;color:var(--muted);line-height:1.7}.procurement-flow-line{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 12px;border:1px solid #d9e5f2;background:#f8fbff;color:#486581}.procurement-flow-line span{padding:4px 8px;border-radius:999px;background:#edf3f9;font-size:12px}.procurement-flow-line span.active{color:#fff;background:var(--blue)}.procurement-flow-line i{color:#8aa2bb;font-style:normal}.procurement-boundary-note{display:flex;align-items:flex-start;gap:8px;padding-top:2px;color:#8a5b00;font-size:12px;line-height:1.6}.procurement-boundary-note b{flex:0 0 auto}.procurement-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.procurement-summary-card{min-height:78px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;display:grid;gap:8px}.procurement-summary-card span{color:var(--muted);font-size:12px}.procurement-summary-card b{font-size:24px;line-height:1}.procurement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.procurement-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.procurement-tabs button{border:0;border-bottom:2px solid transparent;padding:8px 4px;background:transparent;color:var(--muted);font-weight:700}.procurement-tabs button.active{border-color:var(--blue);color:var(--blue)}.procurement-stage-label{color:var(--muted);font-size:12px}.procurement-daily-panel,.procurement-table-panel{overflow:hidden}.procurement-daily-grid{display:grid;gap:6px}.procurement-day-row{display:grid;grid-template-columns:74px repeat(4,minmax(0,1fr));gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid #edf1f5;font-size:12px}.procurement-day-row b{color:var(--text)}.procurement-day-row span{color:var(--muted)}.procurement-day-row strong{color:#216e4e;text-align:right}.procurement-table{min-width:1120px}.procurement-table td small,.procurement-table th small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.procurement-table .table-action{display:block;margin-top:6px;padding:3px 7px;border:1px solid #b7cbe3;background:#f4f8fd;color:var(--blue);border-radius:4px;font-size:12px}.procurement-modal{width:min(760px,calc(100vw - 32px))}.procurement-modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.procurement-modal>header h2{margin:0}@media(max-width:900px){.procurement-category-head{align-items:flex-start;flex-direction:column}.procurement-category-meta{flex-wrap:wrap;white-space:normal}.procurement-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procurement-toolbar{align-items:flex-start;flex-direction:column}.procurement-day-row{grid-template-columns:58px repeat(2,minmax(0,1fr))}.procurement-day-row strong{text-align:left}}.plan-schedule-page{min-width:0;display:grid;gap:12px}.schedule-plan-input{display:block;width:100%;max-width:100%;min-width:0;min-height:25px;box-sizing:border-box;padding:2px 3px;text-align:right;border:1px solid #8eb3df;border-radius:3px;background:#fff}.plan-grid-selection-hint{padding:7px 10px;border:1px solid #b8cde5;background:#eef6ff;color:#315b87;font-size:12px;line-height:1.5}.plan-cell-selected{background:#eaf2ff!important;box-shadow:inset 0 0 0 2px #1f5fbf}.plan-cell-selected .plain-number-input{background:#f7fbff}.procurement-matrix td[data-procurement-matrix-selected=true]{background:#eaf2ff!important;box-shadow:inset 0 0 0 2px #1f5fbf}.procurement-matrix td[data-procurement-matrix-selected=true] .plain-number-input{background:#f7fbff}.plain-number-input{appearance:textfield;-moz-appearance:textfield}.plain-number-input::-webkit-outer-spin-button,.plain-number-input::-webkit-inner-spin-button{margin:0;appearance:none;-webkit-appearance:none}.schedule-plan-dialog-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#14233761}.schedule-plan-dialog{position:relative;width:min(1480px,calc(100vw - 48px));height:min(780px,calc(100vh - 40px));min-width:720px;min-height:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;display:grid;gap:12px}.plan-schedule-notice-backdrop{position:fixed;inset:0;z-index:32;display:grid;place-items:center;padding:16px;background:#14233761}.plan-schedule-notice-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px);min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden}.plan-schedule-notice-dialog-body{min-height:0;display:grid;align-content:start;gap:12px;overflow-y:auto;padding-right:2px}.plan-schedule-notice-dialog .plan-unmatched-panel{min-width:0}.plan-schedule-notice-dialog .plan-unmatched-table-wrap{max-height:330px;overflow:auto}.plan-schedule-notice-dialog .plan-unmatched-table{min-width:980px}.plan-actual-detail-dialog{width:min(1040px,calc(100vw - 32px))}.schedule-actual-detail-trigger{width:100%;min-width:0;border:0;padding:2px 3px;background:transparent;color:#1769aa;font:inherit;font-weight:700;text-align:right;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.schedule-actual-detail-trigger:hover,.schedule-actual-detail-trigger:focus-visible{background:#e8f3fb;outline:1px solid #5b9dca}.plan-schedule-notice-empty{display:flex;align-items:baseline;gap:10px;padding:10px 11px;border:1px solid #e4c878;background:#fffdf7;color:#6e4c00}.plan-schedule-notice-empty span{color:#8a6a19;font-size:12px}.schedule-dialog-resize-layer{position:absolute;inset:0;z-index:20;pointer-events:none}.schedule-dialog-resize-handle{position:absolute;display:block;z-index:21;pointer-events:auto;touch-action:none}.schedule-dialog-resize-handle.resize-n,.schedule-dialog-resize-handle.resize-s{left:14px;right:14px;height:10px}.schedule-dialog-resize-handle.resize-n{top:0;cursor:ns-resize}.schedule-dialog-resize-handle.resize-s{bottom:0;cursor:ns-resize}.schedule-dialog-resize-handle.resize-e,.schedule-dialog-resize-handle.resize-w{top:14px;bottom:14px;width:10px}.schedule-dialog-resize-handle.resize-e{right:0;cursor:ew-resize}.schedule-dialog-resize-handle.resize-w{left:0;cursor:ew-resize}.schedule-dialog-resize-handle.resize-ne,.schedule-dialog-resize-handle.resize-se,.schedule-dialog-resize-handle.resize-sw,.schedule-dialog-resize-handle.resize-nw{width:14px;height:14px}.schedule-dialog-resize-handle.resize-ne{top:0;right:0;cursor:nesw-resize}.schedule-dialog-resize-handle.resize-se{right:0;bottom:0;cursor:nwse-resize}.schedule-dialog-resize-handle.resize-sw{bottom:0;left:0;cursor:nesw-resize}.schedule-dialog-resize-handle.resize-nw{top:0;left:0;cursor:nwse-resize}.schedule-dialog-resizing,.schedule-dialog-resizing *{cursor:inherit!important;user-select:none!important}.schedule-new-plan-head{display:grid;grid-template-columns:160px 160px minmax(280px,1fr);gap:10px}.schedule-new-plan-head label,.schedule-new-plan-reason{display:grid;gap:5px;color:var(--muted);font-size:12px}.schedule-bootstrap-notice{display:grid;grid-template-columns:auto minmax(220px,320px) 1fr;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e3c77f;background:#fffaf0;color:#6c4b00;font-size:12px}.schedule-bootstrap-notice label{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;color:#6c4b00}.schedule-bootstrap-notice input{min-width:0}.plan-reuse-dialog{width:min(980px,calc(100vw - 48px));height:auto;min-height:0}.plan-reuse-form{align-items:end}.plan-reuse-preview{max-height:260px;overflow:auto}.plan-reuse-preview small{display:block;color:var(--muted);font-weight:400}.schedule-new-targets{height:220px;min-height:160px;max-height:220px;overflow:auto}.schedule-department-row{background:#f5f8fc}.schedule-process-child-row{background:#fff;color:#315b87}.schedule-child-checkbox{display:inline-flex;align-items:center;gap:6px;color:#315b87;font-size:12px}.schedule-child-checkbox input{width:16px;height:16px}.schedule-new-order{height:var(--schedule-order-pane-height, 230px);min-height:150px;overflow:auto;border:1px solid #b8cde5}.schedule-new-order-head{display:flex;align-items:baseline;gap:10px;padding:8px 10px;background:#eef6ff;border-bottom:1px solid #b8cde5}.schedule-new-order-head b{color:#244d78;font-size:13px}.schedule-new-order-head span{color:var(--muted);font-size:12px}.schedule-new-order-row{cursor:grab}.schedule-new-order-row:active{cursor:grabbing}.schedule-new-order-row.dragging{opacity:.42;background:#eef6ff}.schedule-drag-handle{display:inline-grid;place-items:center;width:26px;height:24px;color:#315b87;border:1px solid #b8cde5;background:#fff;cursor:grab;font-size:16px}.schedule-process-cell{display:inline-flex;align-items:center;gap:5px;min-width:0}.schedule-process-cell .schedule-drag-handle{flex:0 0 22px;width:22px;height:20px;padding:0;font-size:13px}.schedule-production-cell{display:grid;gap:2px;min-width:0;white-space:normal;text-align:left}.schedule-production-cell b{color:#214c79}.schedule-production-cell small,.schedule-row-meta{color:var(--muted);font-size:10px;line-height:1.3;white-space:normal}.schedule-new-quantities{height:var(--schedule-grid-pane-height, 380px);min-height:220px;overflow:auto}.schedule-pane-resize-handle{display:flex;align-items:center;justify-content:center;height:12px;min-height:12px;margin:-4px 0;cursor:row-resize;touch-action:none}.schedule-pane-resize-handle span{display:block;width:80px;height:4px;border-top:2px solid #9ab3cf;border-bottom:1px solid #d0deec;background:#eef6ff}.schedule-pane-resize-handle:hover span,.schedule-pane-resize-handle:focus-visible span{border-color:#2f6fba;background:#dcecff;outline:none}.schedule-new-quantities:before{content:"可直接从 Excel 复制多行多列数量，点击起始计划格后粘贴";position:sticky;left:0;display:block;padding:7px 10px;color:#315b87;background:#eef6ff;border-bottom:1px solid #b8cde5;font-size:12px}.schedule-new-month-tabs{position:sticky;left:0;display:flex;gap:6px;padding:7px 10px;background:#fff;border-bottom:1px solid #d8e2ec;z-index:2}.schedule-new-month-tabs button{display:grid;gap:2px;min-width:112px;padding:6px 10px;color:#315b87;background:#f5f8fc;border-color:#b8cde5;text-align:left}.schedule-new-month-tabs button span{color:var(--muted);font-size:11px}.schedule-new-month-tabs button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.schedule-new-month-tabs button.active span{color:#eaf4ff}.schedule-new-quantities .plan-table{min-width:1100px}.schedule-new-quantities input{width:100%;min-width:48px;min-height:26px;box-sizing:border-box;padding:3px 4px;text-align:right}.schedule-new-quantities th.weekend,.schedule-new-quantities th.statutory-holiday{background:#fff1f3;color:#172033}.schedule-new-quantities th.today{box-shadow:inset 0 -3px #f1b400}.schedule-new-quantities th small{display:block;margin-top:2px;font-size:10px;font-weight:500}.schedule-new-quantities td.weekend,.schedule-new-quantities td.statutory-holiday{background:#fff8f8}.schedule-new-quantities td.today{box-shadow:inset 2px 0 #f1b400,inset -2px 0 #f1b400}.schedule-weekend-warning{padding:8px 10px;border:1px solid #e7c3c8;background:#fff1f3;color:#172033;font-size:12px;line-height:1.5}.schedule-new-plan-dialog{display:flex;flex-direction:column;overflow:hidden}.schedule-new-plan-dialog>:not(.schedule-dialog-resize-layer):not(.schedule-new-wizard-step){flex:0 0 auto}.schedule-new-plan-dialog>.schedule-new-wizard-step{flex:1 1 0;height:auto;min-height:0;max-height:none}.schedule-new-wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.schedule-new-wizard-steps button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;height:42px;color:#315b87;background:#f5f8fc;border-color:#b8cde5}.schedule-new-wizard-steps button b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d9e7f6;color:#315b87;font-size:12px}.schedule-new-wizard-steps button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-new-wizard-steps button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.schedule-new-wizard-steps button.active b{background:#fff;color:var(--blue)}.schedule-new-wizard-steps button.completed{color:#1f7a49;background:#effaf3;border-color:#a9d8ba}.schedule-new-wizard-steps button.completed b{background:#d2f0dc;color:#1f7a49}.schedule-new-wizard-steps button:disabled{cursor:default;opacity:1}.schedule-new-wizard-step{min-height:0;display:grid;align-content:start;gap:0;overflow:auto}.schedule-new-step-caption{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-bottom:1px solid #b8cde5;background:#eef6ff;color:#315b87}.schedule-new-step-caption b{color:#244d78;font-size:13px}.schedule-new-step-caption span{color:var(--muted);font-size:12px}.schedule-new-step-selection{height:min(430px,calc(100vh - 470px));min-height:250px;max-height:none}.schedule-new-step-order{height:min(500px,calc(100vh - 430px));min-height:260px}.schedule-new-step-quantities{height:min(520px,calc(100vh - 390px));min-height:280px}.schedule-new-step-quantities:before{content:none;display:none}.schedule-new-step-order .schedule-new-order-head{margin:0}.schedule-new-step-order .plan-table{min-width:0}.schedule-new-step-quantities .plan-grid-selection-hint{margin-top:8px}.schedule-new-step-quantities .plan-table th.schedule-quantity-object-cell,.schedule-machine-edit-grid .plan-table th.schedule-quantity-object-cell{position:sticky;top:auto;left:0;z-index:3;width:260px;min-width:260px;max-width:260px;padding:8px 10px;color:var(--text);background:#f5f8fc;white-space:normal;overflow-wrap:anywhere;text-align:left;vertical-align:middle;line-height:1.45}.schedule-new-step-quantities .plan-table th.schedule-quantity-object-head,.schedule-machine-edit-grid .plan-table th.schedule-quantity-object-head{position:sticky;left:0;z-index:5;width:260px;min-width:260px;max-width:260px;text-align:left;white-space:nowrap;background:#eef3f8}.schedule-new-step-quantities .plan-table th.schedule-quantity-total-head,.schedule-machine-edit-grid .plan-table th.schedule-quantity-total-head{position:sticky;left:260px;z-index:5;width:78px;min-width:78px;max-width:78px;text-align:center;white-space:nowrap;background:#eaf2fb;border-left:1px solid #c4d5e8;border-right:1px solid #c4d5e8}.schedule-new-step-quantities .plan-table td.schedule-quantity-total-cell,.schedule-machine-edit-grid .plan-table td.schedule-quantity-total-cell{position:sticky;left:260px;z-index:2;width:78px;min-width:78px;max-width:78px;padding:8px 6px;color:#214c79;background:#f3f8fd;border-left:1px solid #c4d5e8;border-right:1px solid #c4d5e8;font-weight:700}.schedule-new-step-quantities .plan-table th.schedule-quantity-object-cell b,.schedule-machine-edit-grid .plan-table th.schedule-quantity-object-cell b{display:block;line-height:1.45}.schedule-new-step-quantities .plan-table th.schedule-quantity-object-cell small,.schedule-machine-edit-grid .plan-table th.schedule-quantity-object-cell small{white-space:normal;overflow-wrap:anywhere}.schedule-machine-edit-dialog{width:min(1520px,calc(100vw - 48px))}.schedule-machine-edit-order{border:1px solid #b8cde5}.schedule-edit-target-chooser{margin-top:8px;border:1px solid #b8cde5;background:#f8fbff}.schedule-edit-target-chooser .table-wrap{max-height:230px;overflow:auto}.schedule-edit-target-chooser-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 10px;border-top:1px solid #d7e3f0;color:var(--muted);font-size:12px}.schedule-machine-edit-order .table-wrap{height:auto;min-height:0;max-height:none;overflow:visible}.schedule-machine-edit-grid{height:var(--schedule-grid-pane-height, 420px);min-height:220px;overflow:auto}.schedule-machine-edit-grid .plan-table{min-width:1100px}.schedule-machine-edit-grid th:first-child{min-width:190px;white-space:nowrap}.schedule-machine-edit-grid input{width:100%;min-width:48px;min-height:26px;box-sizing:border-box;padding:3px 4px;text-align:right}.schedule-machine-edit-grid th.weekend,.schedule-machine-edit-grid th.statutory-holiday{background:#fff1f3;color:#172033}.schedule-machine-edit-grid th.today{box-shadow:inset 0 -3px #f1b400}.schedule-machine-edit-grid th small{display:block;margin-top:2px;font-size:10px;font-weight:500}.schedule-machine-edit-grid td.weekend,.schedule-machine-edit-grid td.statutory-holiday{background:#fff8f8}.schedule-machine-edit-grid td.today{box-shadow:inset 2px 0 #f1b400,inset -2px 0 #f1b400}.schedule-plan-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.plan-schedule-filter-band{display:grid;grid-template-columns:minmax(210px,1.45fr) repeat(6,minmax(120px,1fr));gap:8px;align-items:end;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.plan-schedule-filter-band label{display:grid;gap:5px;color:var(--muted);font-size:12px}.schedule-metric-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:32px;margin:0;padding:0 8px;border:1px solid var(--border);border-radius:4px;background:#fff}.schedule-metric-filter legend{padding:0 3px;color:var(--muted);font-size:12px}.schedule-metric-filter label{display:inline-flex;align-items:center;gap:4px;color:var(--text);font-size:12px}.schedule-metric-filter input,.schedule-column-toggle input{width:15px;height:15px}.plan-schedule-filter-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:2px}.plan-schedule-filter-actions .schedule-zero-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin-right:auto;color:var(--text)}.plan-schedule-filter-actions .schedule-zero-toggle input{width:15px;height:15px}.plan-schedule-filter-actions .schedule-column-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--text)}.plan-schedule-filter-actions button{align-self:center}.plan-schedule-context{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-height:34px;padding:0 2px;color:var(--muted);font-size:12px}.plan-schedule-context span{display:inline-flex;align-items:center;gap:5px}.plan-schedule-context b{color:var(--text)}.plan-schedule-pagination{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:3px 8px;border:1px solid var(--border);border-bottom:0;background:#f7f9fc;color:var(--muted);font-size:12px}.plan-schedule-pagination>span{margin-right:auto}.plan-schedule-pagination b{color:var(--text)}.plan-schedule-pagination label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.plan-schedule-pagination select{width:64px;min-height:30px;padding:3px 24px 3px 7px}.plan-schedule-page-controls{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.plan-schedule-page-controls button{width:30px;min-width:30px;height:30px;min-height:30px;padding:0;font-size:21px;line-height:1}.plan-schedule-empty{min-height:220px}.plan-schedule-scroll-shell{min-width:0;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto}.plan-schedule-matrix-wrap{min-width:0;max-height:calc(100vh - 326px);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;background:#fff;border:1px solid #9aaabd;border-bottom:0}.plan-schedule-horizontal-scrollbar{position:sticky;bottom:0;z-index:12;min-width:0;height:16px;overflow-x:scroll;overflow-y:hidden;scrollbar-gutter:stable;border:1px solid #9aaabd;border-top:0;background:#f5f8fc}.plan-schedule-horizontal-sizer{height:1px;min-width:2260px}.plan-schedule-matrix{min-width:2260px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}.plan-schedule-matrix th,.plan-schedule-matrix td{height:31px;padding:4px 5px;border-right:1px solid #7f8fa3;border-bottom:1px solid #7f8fa3;vertical-align:middle;white-space:nowrap}.plan-schedule-matrix thead th{position:sticky;top:0;z-index:7;height:32px;background:#8fb7dc;color:#172033;font-weight:700;text-align:center}.plan-schedule-matrix thead tr:nth-child(2) th{top:32px;height:34px}.plan-schedule-matrix thead th.weekend,.plan-schedule-matrix thead th.statutory-holiday{background:#fff1f3;color:#172033}.plan-schedule-matrix thead th.today{box-shadow:inset 0 -3px #f1b400}.plan-schedule-matrix tbody tr.schedule-target-start td{border-top:1px solid #35465d}.plan-schedule-matrix tbody td{background:#fff}.plan-schedule-matrix tbody tr.schedule-actual-row td{background:#e4efd3}.plan-schedule-matrix tbody tr.schedule-difference-row td{background:#fff}.plan-schedule-matrix tbody td.weekend,.plan-schedule-matrix tbody td.statutory-holiday{background:#fff8f8}.plan-schedule-matrix tbody tr.schedule-actual-row td.weekend{background-color:#e1eccf}.plan-schedule-matrix tbody tr.schedule-actual-row td.statutory-holiday{background-color:#fff0f2}.plan-schedule-matrix tbody td.today{box-shadow:inset 2px 0 #f1b400,inset -2px 0 #f1b400}.plan-schedule-matrix .schedule-sticky{position:sticky;z-index:4}.plan-schedule-matrix thead .schedule-sticky{z-index:9;background:#8fb7dc}.plan-schedule-matrix tbody .schedule-sticky{background:#fff}.plan-schedule-matrix tbody tr.schedule-actual-row .schedule-sticky{background:#e4efd3}.plan-schedule-matrix tbody td.schedule-change-cell{background:#fff4cc!important;box-shadow:inset 0 0 0 1px #e5b94c}.plan-schedule-matrix tbody td.schedule-change-cell .schedule-plan-input{background:#fffaf0;border-color:#d9a62e}.schedule-change-legend{color:#775b13!important;font-weight:600}.schedule-change-legend i{display:inline-block;width:12px;height:12px;border:1px solid #d9a62e;border-radius:2px;background:#fff4cc}.plan-schedule-matrix .col-product{left:0;width:96px;min-width:96px}.plan-schedule-matrix .col-scope{left:96px;width:100px;min-width:100px}.plan-schedule-matrix .col-process{left:196px;width:112px;min-width:112px}.plan-schedule-matrix .col-production-mode{left:308px;width:112px;min-width:112px}.plan-schedule-matrix .col-metric{left:420px;width:56px;min-width:56px;text-align:center}.plan-schedule-matrix .col-total{left:476px;width:72px;min-width:72px}.plan-schedule-matrix .col-result{left:548px;width:144px;min-width:144px}.plan-schedule-matrix .schedule-date-head{width:54px;min-width:54px}.plan-schedule-matrix .schedule-day-cell{width:54px;min-width:54px;max-width:54px;overflow:hidden;padding:3px 4px}.plan-schedule-matrix .schedule-day-cell,.procurement-matrix .schedule-day-cell{width:62px;min-width:62px;max-width:62px;overflow:visible;padding:3px 4px;box-sizing:border-box}.plan-schedule-matrix .schedule-date-head,.procurement-matrix .schedule-date-head{width:62px;min-width:62px;max-width:62px;box-sizing:border-box}.schedule-quantity-value{display:block;min-width:0;max-width:100%;overflow:visible;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;line-height:1.2}.schedule-quantity-compact{font-size:11px;letter-spacing:0}.schedule-quantity-condensed{font-size:10px;letter-spacing:0}.schedule-day-cell .schedule-plan-input.schedule-quantity-compact{font-size:11px}.schedule-day-cell .schedule-plan-input.schedule-quantity-condensed{font-size:10px}.plan-schedule-matrix .schedule-merged-cell{overflow:hidden;text-overflow:ellipsis}.schedule-product-cell,.schedule-scope-cell{display:grid;justify-items:start;gap:4px;white-space:normal}.schedule-product-cell .status{max-width:100%}.plan-schedule-matrix .schedule-product-cell .table-action{min-height:24px;padding:2px 6px;border:1px solid #e2b5b0;border-radius:3px;color:var(--red);background:#fff8f7;font-size:11px}.schedule-product-cell .status.info{background:#eaf2ff;color:#1f5fbf}.schedule-product-cell .status.warn{background:#fff3c4;color:#8a5b00}.schedule-product-cell .status.danger{background:#fee2e2;color:#991b1b}.schedule-scope-cell span{color:var(--muted);font-size:11px}.schedule-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;white-space:normal}.schedule-department-toggle{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:4px;padding:0;border:1px solid #8ba9c7;border-radius:3px;color:#315b87;background:#eef6ff;font-size:14px;line-height:1}.schedule-scope-cell{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:6px;row-gap:3px}.schedule-scope-cell>span{grid-column:2}.schedule-result-grid span{min-width:0;display:grid;gap:2px}.schedule-result-grid small{color:var(--muted);font-size:10px;line-height:1.2}.schedule-result-grid b{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis}.schedule-result-grid .schedule-progress{color:#8a5b00}.plan-schedule-matrix .schedule-metric-cell{font-weight:700}.plan-schedule-matrix .schedule-plan-cell{color:#172033}.plan-schedule-matrix .schedule-actual-cell{color:#3f6517}.plan-schedule-matrix .schedule-difference-cell{color:#344054}.plan-schedule-matrix .schedule-negative{color:var(--red);font-weight:700}.plan-schedule-matrix .schedule-positive{color:var(--green);font-weight:700}.plan-schedule-matrix .strong{font-weight:700}.procurement-matrix-page{min-width:0;gap:10px}.procurement-matrix-page .procurement-page-head{gap:12px}.procurement-matrix-filter-band{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.9fr) minmax(140px,.8fr) minmax(240px,1.35fr) auto;gap:8px;align-items:end;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.procurement-matrix-filter-band>label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px}.procurement-matrix-filter-band input[type=search],.procurement-matrix-filter-band select{min-width:0}.procurement-matrix-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:32px;white-space:nowrap}.procurement-matrix-filter-actions>label{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:12px}.procurement-matrix-filter-actions input{width:15px;height:15px}.procurement-matrix-context{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-height:30px;padding:0 2px;color:var(--muted);font-size:12px}.procurement-matrix-context span{display:inline-flex;align-items:center;gap:5px}.procurement-matrix-context b{color:var(--text)}.procurement-matrix-wrap{max-height:calc(100vh - 310px);overflow-x:auto;overflow-y:auto;scrollbar-gutter:stable}.procurement-matrix{min-width:2260px}.procurement-matrix .procurement-col-supplier{left:96px;width:120px;min-width:120px}.procurement-matrix .procurement-col-order{left:216px;width:150px;min-width:150px}.procurement-matrix .col-metric{left:366px;width:56px;min-width:56px}.procurement-matrix .col-total{left:422px;width:72px;min-width:72px}.procurement-matrix .schedule-date-head{width:54px;min-width:54px}.procurement-matrix .schedule-day-cell{width:54px;min-width:54px;max-width:54px}.procurement-matrix .schedule-day-cell,.procurement-matrix .schedule-date-head{width:62px;min-width:62px;max-width:62px;overflow:visible;box-sizing:border-box}.procurement-matrix tbody .schedule-sticky{z-index:5}.procurement-matrix thead .schedule-sticky{z-index:10}.procurement-matrix tbody tr.schedule-return-row td{background:#fff7e6}.procurement-matrix tbody tr.schedule-difference-row td{background:#f8fafc}.procurement-matrix tbody tr.schedule-return-row .schedule-sticky{background:#fff7e6}.procurement-matrix tbody tr.schedule-difference-row .schedule-sticky{background:#f8fafc}.procurement-matrix tbody td.schedule-change-cell{background:#fff4cc!important;box-shadow:inset 0 0 0 1px #e5b94c}.procurement-matrix tbody td.schedule-change-cell .schedule-plan-input{background:#fffaf0;border-color:#d9a62e}.procurement-matrix tbody tr.schedule-return-row td.weekend{background-color:#fff3da}.procurement-matrix tbody tr.schedule-difference-row td.weekend{background-color:#f2f5f8}.procurement-target-cell{display:grid;gap:2px;min-width:0;white-space:normal;line-height:1.25}.procurement-target-cell b,.procurement-target-cell span,.procurement-target-cell small{min-width:0;overflow:hidden;text-overflow:ellipsis}.procurement-target-cell span,.procurement-target-cell small{color:var(--muted);font-size:11px}.procurement-matrix .table-action{min-height:24px;padding:2px 6px;border:1px solid #b7cbe3;border-radius:3px;color:var(--blue);background:#f4f8fd;font-size:11px}.procurement-matrix .danger-text{color:var(--red);border-color:#e2b5b0;background:#fff8f7}.procurement-matrix .schedule-product-cell{align-content:start}.procurement-matrix .schedule-metric-cell{text-align:center}.procurement-matrix .schedule-return-cell{color:#9a5b00}.procurement-matrix .schedule-difference-cell{color:#475467}.procurement-plan-dialog{width:min(1680px,calc(100vw - 48px));max-height:calc(100vh - 40px);overflow:auto}.procurement-plan-head{display:grid;grid-template-columns:minmax(170px,.72fr) minmax(250px,1fr) minmax(150px,.68fr) minmax(280px,1.08fr);gap:12px;align-items:end}.procurement-plan-head label,.procurement-plan-meta label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px}.procurement-plan-head>label:first-child select{pointer-events:none;appearance:none;cursor:default;background-image:none;color:var(--ink);font-weight:600}.procurement-plan-change-reason{display:grid;gap:5px;color:var(--muted);font-size:12px}.procurement-plan-change-reason span{color:#8a5b00}.procurement-plan-selected-product{display:none}.procurement-plan-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.procurement-plan-meta .span-2{grid-column:span 2}.procurement-plan-start{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #b8cde5;background:#eef6ff;color:#315b87;font-size:12px}.procurement-plan-start span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procurement-plan-grid{max-height:390px}.procurement-plan-grid .plan-table{min-width:1100px}.procurement-plan-grid .plan-table th:first-child{position:sticky;left:0;z-index:3;width:180px;min-width:180px;background:#f5f8fc;text-align:left}.procurement-plan-grid .plan-table .procurement-plan-summary-head,.procurement-plan-grid .plan-table .procurement-plan-summary-cell{position:sticky;left:180px;z-index:2;width:86px;min-width:86px;background:#f5f8fc;text-align:right;font-variant-numeric:tabular-nums}.procurement-plan-grid .plan-table .procurement-plan-summary-head{z-index:5;text-align:center}.procurement-plan-grid .plan-table .procurement-plan-summary-cell{color:var(--text);font-weight:700}.procurement-plan-grid .plan-table thead th{position:sticky;top:0;z-index:4;min-width:54px;text-align:center}.procurement-plan-grid .plan-table thead th:first-child{z-index:5}.procurement-plan-grid .plan-table td{min-width:54px;padding:4px}.procurement-plan-grid .plan-table th.weekend{background-color:#fff1f3;color:#172033}.procurement-plan-grid .plan-table td.weekend{background-color:#fff8f8}.procurement-plan-grid .plan-table td.plan-cell-selected,.procurement-plan-grid .plan-table td[data-procurement-selected=true]{background:#eaf2ff!important;box-shadow:inset 0 0 0 2px #1f5fbf}.procurement-plan-grid .plan-table input{width:100%;min-width:48px;min-height:28px;box-sizing:border-box;padding:3px 4px;text-align:right}.procurement-plan-grid .plan-table small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}.procurement-planning-date{box-shadow:inset 0 -3px #f1b400}.procurement-plan-total{padding:8px 10px;border-top:1px solid #b8cde5;color:var(--muted);font-size:12px}.procurement-plan-total b{color:var(--text);font-size:14px}.procurement-supplier-combos{display:grid;gap:8px}.procurement-supplier-combos-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.procurement-supplier-combos-head>div{display:flex;align-items:baseline;gap:10px}.procurement-supplier-combos-head span{color:var(--muted);font-size:12px}.procurement-supplier-table{min-width:1260px}.procurement-supplier-table th,.procurement-supplier-table td{padding:6px 7px}.procurement-supplier-table input{width:100%;min-width:108px;min-height:30px;box-sizing:border-box}.procurement-supplier-table th:first-child{min-width:155px}.procurement-supplier-table th:nth-child(2){min-width:125px}.procurement-supplier-table th:nth-child(3){min-width:155px}.procurement-supplier-table th:nth-child(4){min-width:155px}.procurement-supplier-table th:nth-child(5){min-width:165px}.procurement-supplier-table th:nth-child(6){min-width:145px}.procurement-supplier-table th:nth-child(7){min-width:145px}.procurement-supplier-table th:last-child{min-width:58px}.procurement-supplier-table .table-action{min-height:25px;padding:2px 6px;border:1px solid #e2b5b0;border-radius:3px;color:var(--red);background:#fff8f7;font-size:11px}.procurement-category-stack{display:grid;gap:14px;min-width:0}.procurement-category-section{display:grid;gap:8px;min-width:0}.procurement-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 12px;border:1px solid var(--border);border-left:4px solid var(--blue);background:#fff}.procurement-category-kicker{display:block;margin-bottom:3px;color:var(--muted);font-size:11px}.procurement-category-head h2{margin:0;color:var(--text);font-size:16px}.procurement-category-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;white-space:nowrap}.procurement-category-meta button{margin-left:4px}.procurement-category-table-wrap{max-height:calc(100vh - 390px)}.procurement-category-empty{padding:18px 14px;border:1px dashed #c9d6e5;background:#fbfdff;color:var(--muted);font-size:12px}.procurement-category-add{padding:10px 12px;border:1px dashed #b8cde5;background:#f8fbff}.procurement-category-add-trigger,.procurement-category-add-form{display:flex;align-items:center;gap:10px}.procurement-category-add-trigger{justify-content:space-between;color:var(--muted);font-size:12px}.procurement-category-add-form input{flex:1;min-width:220px}@media(max-width:1200px){.procurement-matrix-filter-band{grid-template-columns:repeat(3,minmax(0,1fr))}.procurement-matrix-filter-actions{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:900px){.plan-daily-delay-toolbar{align-items:flex-start;flex-direction:column}.plan-daily-delay-actions{width:100%;justify-content:flex-start}.plan-daily-delay-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-daily-delay-filters>.plan-daily-filter,.plan-daily-delay-filters>.plan-daily-number-filter{min-width:0}.plan-daily-delay-filters>.ghost{justify-self:start}.plan-daily-delay-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-daily-delay-summary>span:nth-child(3){border-right:0}.plan-daily-delay-summary>span:nth-child(n+4){border-top:1px solid #d6e1ec}.plan-delay-report-fields{grid-template-columns:1fr 1fr}.plan-delay-report-fields .plan-delay-report-wide{grid-column:1 / -1}.procurement-plan-head{grid-template-columns:1fr 1fr}.procurement-plan-head>label:last-of-type{grid-column:1 / -1}.procurement-plan-meta{grid-template-columns:1fr 1fr}}@media(max-width:1366px){.plan-main-grid,.plan-secondary-grid,.plan-return-grid{grid-template-columns:1fr}}.procurement-view-nav{display:none}.procurement-view-nav button{flex:0 0 auto;min-width:150px;min-height:58px;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);text-align:left}.procurement-view-nav button:hover,.procurement-view-nav button.active{border-color:#8eb3df;background:#f4f8fd}.procurement-view-nav button.active{box-shadow:inset 3px 0 0 var(--blue)}.procurement-view-nav button>span:last-child{min-width:0;display:grid;gap:3px}.procurement-view-nav b,.procurement-view-nav small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procurement-view-nav small{color:var(--muted);font-size:11px}.procurement-view-icon{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border-radius:3px;background:#e8f1fb;color:var(--blue);font-size:12px;font-weight:800}.procurement-home-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.procurement-dashboard-panel,.procurement-dashboard-analytics{min-width:0;display:grid;gap:10px}.procurement-analytics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}.procurement-analytics-head h2{margin:3px 0 0}.procurement-chart-legend,.procurement-chart-mini-legend{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;white-space:nowrap}.procurement-chart-legend span,.procurement-chart-mini-legend span{display:inline-flex;align-items:center;gap:5px}.procurement-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8b98a9}.procurement-legend-plan{background:#2f6fba}.procurement-legend-actual{background:#2c8a63}.procurement-chart-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:12px}.procurement-chart-panel{min-width:0;display:grid;gap:8px;overflow:hidden}.procurement-chart-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.procurement-chart-panel-head h3{margin:0;color:var(--text);font-size:14px}.procurement-chart-panel-head span,.procurement-chart-panel-head b{color:var(--muted);font-size:11px;font-weight:500}.procurement-chart-panel-head div{min-width:0;display:grid;gap:3px}.procurement-chart-scale{white-space:nowrap}.procurement-chart-scroll{min-width:0;overflow-x:auto;overflow-y:hidden}.procurement-line-chart,.procurement-bar-chart{display:block;width:100%;min-width:650px;height:auto;overflow:visible}.procurement-chart-gridline{stroke:#e7edf4;stroke-width:1;stroke-dasharray:3 4}.procurement-chart-axis{stroke:#b8c5d2;stroke-width:1}.procurement-chart-axis-label,.procurement-chart-category-label,.procurement-chart-value-label{fill:#667085;font-size:11px}.procurement-chart-category-label{fill:var(--text);font-weight:600}.procurement-chart-value-label{fill:#475467;font-size:10px}.procurement-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.procurement-line-plan{stroke:#2f6fba}.procurement-line-actual{stroke:#2c8a63}.procurement-point{stroke:#fff;stroke-width:1.5}.procurement-point-plan{fill:#2f6fba}.procurement-point-actual{fill:#2c8a63}.procurement-trend-bar-group{outline:none}.procurement-trend-target{fill:#dbe8f5;stroke:#8fb2d4;stroke-width:1}.procurement-trend-actual{fill:#63b08d}.procurement-trend-bar-group:hover .procurement-trend-target{fill:#c9dced}.procurement-trend-bar-group:hover .procurement-trend-actual{fill:#2c8a63}.procurement-bar-track{fill:#eef2f6}.procurement-bar{transition:opacity .15s ease,width .15s ease}.procurement-bar-plan{fill:#7ca9d8}.procurement-bar-actual{fill:#63b08d}.procurement-chart-clickable{cursor:pointer;outline:none}.procurement-chart-clickable:hover .procurement-bar{opacity:.78}.procurement-chart-clickable:focus .procurement-bar-track{stroke:#2f6fba;stroke-width:1.5}.procurement-chart-mini-legend{justify-content:flex-start;flex-wrap:wrap}.procurement-chart-mini-legend small{margin-left:auto;color:var(--muted)}.procurement-status-content{display:grid;grid-template-columns:minmax(150px,180px) minmax(0,1fr);align-items:center;gap:12px;min-height:190px}.procurement-donut-wrap{display:grid;place-items:center}.procurement-donut-chart{display:block;width:160px;height:160px}.procurement-donut-track,.procurement-donut-segment{fill:none;stroke-width:20}.procurement-donut-track{stroke:#edf1f5}.procurement-donut-segment{transform:rotate(-90deg);transform-origin:80px 80px;transition:stroke-dasharray .2s ease,stroke-dashoffset .2s ease}.procurement-donut-total{fill:var(--text);font-size:25px;font-weight:700}.procurement-donut-caption{fill:var(--muted);font-size:11px}.procurement-status-list{display:grid;gap:10px;min-width:0}.procurement-status-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding-bottom:8px;border-bottom:1px solid #edf1f5}.procurement-status-item:last-child{padding-bottom:0;border-bottom:0}.procurement-status-name{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:12px;font-weight:600}.procurement-status-item>b{color:var(--text);font-size:15px}.procurement-status-item small{grid-column:1 / -1;color:var(--muted);font-size:11px}.procurement-chart-empty{display:grid;gap:4px;padding:28px 16px;border:1px dashed #c9d6e5;background:#fbfdff;color:var(--muted);font-size:12px}.procurement-chart-empty b{color:var(--text);font-size:13px}.procurement-inbound-panel details{display:grid;gap:10px}.procurement-inbound-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.procurement-inbound-panel summary::-webkit-details-marker{display:none}.procurement-inbound-panel summary:after{content:"v";color:var(--muted);font-size:16px}.procurement-inbound-panel details:not([open]) summary:after{content:">"}.procurement-inbound-table{min-width:920px}.procurement-inbound-table select{min-width:230px;max-width:360px}.procurement-inbound-actions{display:flex;align-items:center;gap:6px;min-width:280px}.procurement-inbound-actions input{width:120px;min-width:0}.procurement-readonly-note{color:var(--muted);font-size:12px;white-space:nowrap}.procurement-receipt-source{display:block;margin-top:4px;color:var(--muted);font-size:11px}.procurement-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.procurement-dashboard-head h2{margin:3px 0 0}.procurement-dashboard-head button{flex:0 0 auto}.procurement-alert-list{display:grid;gap:6px}.procurement-alert-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 10px;border-left:3px solid #b8cde5;background:#f8fbff}.procurement-alert-list article>div{min-width:0;display:grid;gap:3px}.procurement-alert-list article b{color:var(--text);font-size:13px}.procurement-alert-list article span{color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.procurement-alert-list article button{flex:0 0 auto}.procurement-alert-high{border-left-color:var(--red)!important;background:#fff8f7!important}.procurement-alert-medium{border-left-color:#d39a12!important;background:#fffaf0!important}.procurement-alert-info{border-left-color:var(--green)!important;background:#f6fbf8!important}.procurement-history-panel{min-width:0}.procurement-history-table{min-width:780px}.procurement-history-table td,.procurement-history-table th{vertical-align:middle}.procurement-history-table td:nth-child(5){min-width:260px;white-space:normal;line-height:1.5}.procurement-category-only .procurement-category-head,.procurement-category-only .procurement-category-add{display:none}.procurement-category-only .procurement-category-stack{gap:0}.procurement-category-only .procurement-category-table-wrap{max-height:calc(100vh - 300px)}@media(max-width:900px){.procurement-home-grid{grid-template-columns:1fr}.procurement-view-nav button{min-width:136px}.procurement-chart-grid{grid-template-columns:1fr}.procurement-trend-chart{grid-column:auto}}@media(max-width:1100px){.plan-schedule-matrix .col-scope,.plan-schedule-matrix .col-process,.plan-schedule-matrix .col-production-mode,.plan-schedule-matrix .col-metric,.plan-schedule-matrix .col-total,.plan-schedule-matrix .col-result{position:static}}@media(min-width:601px)and (max-width:1100px){.procurement-matrix .schedule-sticky{position:sticky}.procurement-matrix .col-product{left:0}.procurement-matrix .procurement-col-supplier{left:96px}.procurement-matrix .procurement-col-order{left:216px}.procurement-matrix .col-metric{left:366px}.procurement-matrix .col-total{left:422px}}@media(max-width:900px){.plan-page-head{flex-direction:column}.plan-toolbar-actions{width:100%;justify-content:flex-start}.plan-kpi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-analytics-head{align-items:flex-start;flex-direction:column}.plan-chart-grid{grid-template-columns:1fr}.plan-trend-panel{grid-column:auto}.plan-status-content{grid-template-columns:1fr}.plan-status-chart{margin:0 auto}.plan-schedule-filter-band{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-version-row{align-items:flex-start;flex-direction:column}.plan-version-row .small-actions{width:100%;justify-content:flex-start}}@media(max-width:600px){.shell{grid-template-columns:56px minmax(0,1fr)}.sidebar{width:56px}.sidebar .system-name{padding:0;place-items:center}.sidebar .system-name b{font-size:0}.sidebar .system-name b:before{content:"模";width:34px;height:34px;border:1px solid #536985;border-radius:var(--radius);display:grid;place-items:center;color:#fff;font-size:17px;line-height:1}.sidebar .system-name span,.sidebar .sidebar-group-title,.sidebar button b,.sidebar .sidebar-submenu-list{display:none}.sidebar button{width:40px;margin:1px auto;padding:0;gap:0;justify-content:center}.sidebar button span,.sidebar-submenu-toggle span{width:auto}.sidebar .procurement-menu-group,.sidebar .plan-menu-group{margin-top:8px;padding-top:8px}.workspace{min-width:0}.topbar{gap:6px;padding:0 8px;overflow-x:auto}.breadcrumb{min-width:max-content}.account{flex:0 0 auto}.runtime-line{padding:4px 8px;overflow-x:auto;white-space:nowrap}.page{padding:10px}.procurement-nav-grid{grid-template-columns:1fr}.procurement-page-head{align-items:flex-start}.plan-kpi-cards{grid-template-columns:1fr}.plan-dashboard-filters{align-items:stretch}.plan-dashboard-filters label,.plan-dashboard-filters select,.plan-dashboard-reset{width:100%}.plan-chart-panel-actions{align-items:flex-end!important;flex-wrap:wrap;justify-content:flex-end}.plan-create-form,.plan-line-form,.template-setup-grid,.template-target-builder{grid-template-columns:1fr}.plan-form-wide,.plan-line-form button{grid-column:auto}.plan-toolbar-actions{align-items:stretch;flex-direction:column}.plan-toolbar-actions .plan-filter-label,.plan-toolbar-actions .plan-change-reason,.plan-toolbar-actions input,.plan-toolbar-actions select,.plan-toolbar-actions button{width:100%}.schedule-new-plan-head,.schedule-bootstrap-notice,.schedule-bootstrap-notice label,.plan-schedule-filter-band{grid-template-columns:1fr}.plan-schedule-context{gap:9px 14px}.plan-schedule-pagination{align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:6px 10px}.plan-schedule-pagination>span{width:100%;margin-right:0}.plan-schedule-matrix-wrap{max-height:calc(100vh - 330px)}.procurement-matrix-filter-band{grid-template-columns:1fr}.procurement-matrix-filter-actions{grid-column:auto;align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.procurement-matrix-wrap{max-height:calc(100vh - 350px)}.procurement-plan-head,.procurement-plan-meta{grid-template-columns:1fr}.procurement-plan-head>label:last-of-type,.procurement-plan-meta .span-2{grid-column:auto}.procurement-plan-start{align-items:stretch;flex-direction:column}.procurement-plan-start span{white-space:normal}.plan-error,.procurement-analytics-head{align-items:flex-start;flex-direction:column}.procurement-chart-legend{white-space:normal}.procurement-status-content{grid-template-columns:1fr}.procurement-chart-mini-legend small{margin-left:0;width:100%}}.plan-quantity-modal input[readonly]{background:#f5f7fa;color:var(--muted);cursor:not-allowed}.procurement-matrix .schedule-product-cell .table-action{font-size:0}.procurement-matrix .schedule-product-cell .table-action:after{content:"编辑机种计划";font-size:11px}.procurement-edit-lock-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid #e6c77a;background:#fff9e8;color:#805b00;font-size:12px}.procurement-edit-mode-bar{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #b8cde5;background:#eef6ff;color:#315b87;font-size:12px}.procurement-edit-mode-bar b{color:var(--text)}.procurement-archive-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-height:42px;padding:6px 10px;border:1px solid #d8e1eb;background:#fbfcfe;color:var(--muted);font-size:12px}.procurement-archive-toolbar>span{min-width:0;line-height:1.5}.procurement-archive-trigger{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 9px;white-space:nowrap}.procurement-archive-trigger b{min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#eaf2ff;color:#1f5fbf;font-size:11px;font-variant-numeric:tabular-nums}.procurement-archive-dialog{width:min(980px,calc(100vw - 32px));height:min(680px,calc(100vh - 32px));min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;overflow:hidden}.procurement-archive-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.procurement-archive-dialog-head h2{margin:3px 0 4px}.procurement-archive-dialog-head p{max-width:680px;margin:0}.procurement-archive-dialog-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:8px 10px;border:1px solid #d8e1eb;background:#f7faff;color:var(--muted);font-size:12px}.procurement-archive-dialog-meta b{color:var(--text);font-variant-numeric:tabular-nums}.procurement-archive-list{min-height:0;overflow:auto}.procurement-archive-list table{min-width:0;table-layout:fixed}.procurement-archive-list th,.procurement-archive-list td{padding:8px 9px;vertical-align:top}.procurement-archive-list th:nth-child(1){width:15%}.procurement-archive-list th:nth-child(2){width:20%}.procurement-archive-list th:nth-child(3){width:24%}.procurement-archive-list th:nth-child(4){width:15%}.procurement-archive-list th:nth-child(5){width:14%}.procurement-archive-list th:nth-child(6){width:12%}.procurement-archive-list td b,.procurement-archive-list td small{display:block}.procurement-archive-list td small{margin-top:3px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}@media(max-width:700px){.procurement-edit-mode-bar{align-items:flex-start;flex-direction:column;gap:3px}.procurement-archive-dialog{width:calc(100vw - 20px);height:calc(100vh - 20px);max-width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.procurement-archive-dialog-head{gap:8px}.procurement-archive-dialog-head .ghost{flex:0 0 auto}.procurement-archive-list table{min-width:720px;table-layout:auto}}@media(min-width:601px)and (max-width:900px){.plan-chart-panel-head{flex-wrap:wrap}.plan-chart-panel-head>:last-child{min-width:0;max-width:100%}.plan-chart-panel-actions{flex-wrap:wrap;justify-content:flex-start}.plan-chart-legend{flex-wrap:wrap;white-space:normal}}@media(max-width:600px){.workspace{grid-template-rows:auto auto auto minmax(0,1fr)}.topbar{min-width:0;min-height:56px;height:auto;flex-wrap:wrap;row-gap:4px;padding:6px 8px;overflow:hidden}.topbar>.ghost{flex:0 0 auto}.breadcrumb{min-width:0;flex:1 1 120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account{min-width:0;flex:1 1 100%;justify-content:flex-end;gap:4px;overflow:hidden}.account select{min-width:0;max-width:118px;flex:0 1 118px}.account .role{min-width:0;max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account button{padding:0 6px;white-space:nowrap}.runtime-line{min-width:0;flex-wrap:wrap;align-content:center;row-gap:4px;overflow:hidden;white-space:normal}.runtime-line>span:first-child{min-width:0;flex:1 1 170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-line .inline-warning{min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-line>button{flex:0 0 auto}.plan-chart-panel-head{flex-wrap:wrap}.plan-chart-panel-actions{width:100%;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap}.plan-chart-legend{flex-wrap:wrap;white-space:normal}}.procurement-dashboard-analytics{gap:16px}.procurement-dashboard-titlebar{align-items:flex-end;padding-bottom:2px}.procurement-dashboard-titlebar h2{margin:4px 0 3px;font-size:20px}.procurement-dashboard-titlebar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.procurement-dashboard-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:var(--muted);font-size:11px}.procurement-dashboard-context span{padding:5px 8px;border:1px solid #d9e3ee;border-radius:3px;background:#fff;white-space:nowrap}.procurement-dashboard-filterbar{min-width:0;display:grid;grid-template-columns:minmax(190px,1.25fr) repeat(4,minmax(135px,1fr));gap:8px;align-items:end;padding:10px 12px;border:1px solid #cdd9e6;background:#fff}.procurement-filterbar-head{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.procurement-filterbar-head>div{min-width:0;display:grid;gap:2px}.procurement-filterbar-head b{color:var(--text);font-size:13px}.procurement-filterbar-head small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.procurement-dashboard-filterbar>label{min-width:0;display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.procurement-dashboard-filterbar select{width:100%;min-width:0;min-height:32px;padding:5px 8px;border:1px solid #cbd7e4;border-radius:3px;background:#fff;color:var(--text)}.procurement-filter-chips{grid-column:1 / -1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:2px}.procurement-filter-chips button{min-height:25px;padding:3px 8px;border:1px solid #b8cde5;border-radius:12px;background:#f3f8fe;color:#315b87;font-size:11px;cursor:pointer}.procurement-filter-chips button:hover,.procurement-filter-chips button:focus-visible{border-color:#2f6fba;background:#e8f1fb;outline:none}.procurement-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.procurement-kpi-card{min-width:0;min-height:118px;display:grid;align-content:start;gap:8px;padding:13px 15px 12px;border:1px solid var(--border);border-top:3px solid #b9c8d8;border-radius:4px;background:#fff}.procurement-kpi-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.procurement-kpi-card span{color:var(--text);font-size:12px;font-weight:700}.procurement-kpi-card small{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.procurement-kpi-card b{color:#101828;font-size:26px;line-height:1;letter-spacing:0}.procurement-kpi-card em{min-height:17px;color:var(--muted);font-size:11px;font-style:normal}.procurement-kpi-card em.is-positive{color:#216e4e}.procurement-kpi-plan{border-top-color:#2f6fba}.procurement-kpi-actual{border-top-color:#2c8a63}.procurement-kpi-gap{border-top-color:#d39a12}.procurement-kpi-alert{border-top-color:#d25b4b}.procurement-kpi-progress{height:5px;overflow:hidden;border-radius:3px;background:#edf1f5}.procurement-kpi-progress i{display:block;height:100%;border-radius:inherit;background:#2c8a63;transition:width .2s ease}.procurement-signal-strip{min-width:0;display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(150px,1fr)) minmax(150px,.9fr);align-items:center;gap:0;border:1px solid #d6e1ec;background:#f8fbfe}.procurement-signal-strip>div{min-width:0;min-height:50px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-right:1px solid #d6e1ec}.procurement-signal-strip>div:last-child{border-right:0}.procurement-signal-label{display:grid!important;align-content:center;gap:2px!important}.procurement-signal-label b{color:var(--text);font-size:12px}.procurement-signal-item span,.procurement-signal-last span{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.procurement-signal-item b,.procurement-signal-last b{margin-left:auto;color:var(--text);font-size:15px}.procurement-signal-last{justify-content:space-between}.procurement-signal-last b{color:#315b87;font-size:12px}.procurement-signal-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#9aa8b6}.procurement-signal-dot.high{background:#d25b4b}.procurement-signal-dot.medium{background:#d39a12}.procurement-signal-dot.info{background:#2c8a63}.procurement-chart-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.procurement-chart-panel{gap:10px;padding:13px 14px 11px;border-color:#d7e1ec;box-shadow:0 1px 2px #10182808}.procurement-trend-chart{grid-column:1 / -1}.procurement-status-chart{grid-column:1;grid-row:2}.procurement-supplier-chart{grid-column:2;grid-row:2}.procurement-chart-panel-head{align-items:baseline}.procurement-chart-panel-head h3{font-size:13px}.procurement-chart-panel-head span{line-height:1.4}.procurement-chart-scroll{padding:0 2px}.procurement-line-chart{min-width:680px}.procurement-column-chart{min-width:760px}.procurement-area{stroke:none}.procurement-area-plan{fill:#2f6fba;opacity:.055}.procurement-area-actual{fill:#2c8a63;opacity:.08}.procurement-chart-footer{display:flex;align-items:center;gap:14px;min-height:17px;color:var(--muted);font-size:11px}.procurement-chart-footer span{display:inline-flex;align-items:center;gap:5px}.procurement-chart-footer-note{margin-left:auto}.procurement-chart-gridline{stroke:#e5ebf2;stroke-dasharray:2 4}.procurement-chart-axis{stroke:#b8c5d2}.procurement-chart-clickable:focus{outline:none}.procurement-chart-clickable:focus .procurement-bar-track{stroke:#1f5fbf;stroke-width:2}.procurement-chart-selected .procurement-bar{opacity:1}.procurement-chart-clickable:not(.procurement-chart-selected) .procurement-bar{opacity:.82}.procurement-status-content{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:24px;min-height:270px}.procurement-donut-chart{width:240px;height:240px}.procurement-status-list{gap:14px}.procurement-status-item{padding:11px 12px}.procurement-status-item{cursor:pointer}.procurement-status-item:hover,.procurement-status-item:focus-visible,.procurement-status-item.procurement-status-selected{background:#f3f8fe;outline:none}.procurement-dashboard-detail-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:14px}.procurement-dashboard-detail-grid .procurement-dashboard-panel{min-width:0;padding:13px 14px;border-color:#d7e1ec}.procurement-dashboard-detail-grid .procurement-dashboard-head{min-height:32px}.procurement-dashboard-detail-grid .procurement-dashboard-head h2{font-size:15px}.procurement-dashboard-alerts .procurement-alert-list{max-height:276px;overflow:auto}.procurement-dashboard-alerts .procurement-alert-list article{min-height:44px;padding:8px 9px}.procurement-dashboard-alerts .procurement-alert-list article button{padding:3px 8px}.procurement-dashboard-detail-grid .procurement-day-row{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr) auto;padding:7px 0}.procurement-dashboard-detail-grid .procurement-day-row strong{text-align:right}.procurement-daily-more{padding-top:7px;color:var(--muted);font-size:11px}.procurement-dashboard-table-wrap{min-width:0;overflow-x:auto}.procurement-gap-panel{grid-column:1}.procurement-quality-panel{grid-column:2}.procurement-supplier-performance-panel{grid-column:1 / -1}.procurement-performance-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.95fr);gap:14px;align-items:stretch}.procurement-performance-layout>*{min-width:0}.procurement-performance-table-wrap{min-width:0}.procurement-panel-note{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.procurement-gap-table{min-width:780px}.procurement-gap-table td:first-child{min-width:160px}.procurement-gap-table td:first-child small,.procurement-performance-table td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.procurement-gap-value{color:#b54735!important;font-weight:700}.procurement-date-overdue{color:#b54735;font-weight:700}.procurement-row-flag{display:block;margin-top:3px;color:#b54735;font-size:10px}.procurement-quality-list{display:grid;gap:7px}.procurement-quality-list article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 10px;border-left:3px solid #d39a12;background:#fffaf0}.procurement-quality-list article>div{min-width:0;display:grid;gap:3px}.procurement-quality-list article b{color:var(--text);font-size:12px}.procurement-quality-list article span{color:var(--muted);font-size:11px;line-height:1.45}.procurement-quality-list article strong{color:#9a6700;font-size:13px;white-space:nowrap}.procurement-quality-list article small{grid-column:1 / -1;color:var(--muted);font-size:10px}.procurement-quality-high{border-left-color:#d25b4b!important;background:#fff8f7!important}.procurement-quality-high strong{color:#b54735!important}.procurement-quality-empty{display:grid;gap:5px;padding:16px 12px;border:1px dashed #b8d6c5;background:#f6fbf8}.procurement-quality-empty b{color:#216e4e;font-size:12px}.procurement-quality-empty span{color:var(--muted);font-size:11px}.procurement-performance-table{min-width:680px}.procurement-rate-cell{min-width:110px;display:grid;grid-template-columns:48px minmax(52px,1fr);align-items:center;gap:8px;color:var(--text);font-size:12px}.procurement-rate-cell i{display:block;height:5px;overflow:hidden;border-radius:3px;background:#edf1f5}.procurement-rate-cell em{display:block;height:100%;border-radius:inherit;background:#2c8a63}.procurement-arrival-warning-panel{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);align-content:stretch;gap:10px;padding-left:14px;border-left:1px solid #d7e1ec}.procurement-arrival-warning-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.procurement-arrival-warning-head h3{margin:3px 0 2px;color:var(--text);font-size:15px}.procurement-arrival-warning-head small{display:block;color:var(--muted);font-size:10px;line-height:1.4}.procurement-arrival-warning-tier{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding-top:10px;border-top:1px solid #e2e9f0}.procurement-arrival-warning-tier-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.procurement-arrival-warning-tier-head span{color:var(--muted);font-size:11px}.procurement-arrival-warning-five .procurement-arrival-warning-tier-head b{color:#9a6700}.procurement-arrival-warning-three .procurement-arrival-warning-tier-head b{color:#b54735}.procurement-arrival-warning-list{min-height:0;display:grid;align-content:start;gap:6px;max-height:none;overflow-y:auto}.procurement-arrival-warning-item{width:100%;min-width:0;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:0;border-left:3px solid #d39a12;background:#fffaf0;color:var(--text);text-align:left;cursor:pointer}.procurement-arrival-warning-three .procurement-arrival-warning-item{border-left-color:#d25b4b;background:#fff8f7}.procurement-arrival-warning-item:hover,.procurement-arrival-warning-item:focus-visible{background:#fff1c7;outline:none}.procurement-arrival-warning-three .procurement-arrival-warning-item:hover,.procurement-arrival-warning-three .procurement-arrival-warning-item:focus-visible{background:#ffe9e6}.procurement-arrival-warning-item span{min-width:0;display:grid;gap:2px}.procurement-arrival-warning-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.procurement-arrival-warning-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.procurement-arrival-warning-item em{color:#9a6700;font-size:11px;font-style:normal;white-space:nowrap}.procurement-arrival-warning-three .procurement-arrival-warning-item em{color:#b54735}.procurement-arrival-warning-empty{padding:8px;border:1px dashed #d7e1ec;color:var(--muted);font-size:11px}@media(max-width:1100px){.procurement-dashboard-filterbar{grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(135px,1fr))}.procurement-filterbar-head{grid-column:1 / -1}.procurement-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procurement-signal-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.procurement-signal-label{grid-column:1 / -1;border-right:0!important;border-bottom:1px solid #d6e1ec}.procurement-signal-last{border-right:0!important}.procurement-status-chart,.procurement-supplier-chart{grid-column:1 / -1;grid-row:auto}.procurement-gap-panel,.procurement-quality-panel,.procurement-supplier-performance-panel{grid-column:1 / -1}.procurement-dashboard-detail-grid{grid-template-columns:1fr}.procurement-performance-layout{grid-template-columns:minmax(0,1fr)}.procurement-arrival-warning-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);padding-top:14px;padding-left:0;border-top:1px solid #d7e1ec;border-left:0}.procurement-arrival-warning-head{grid-column:1 / -1}}@media(max-width:700px){.procurement-dashboard-titlebar{align-items:flex-start;flex-direction:column;gap:9px}.procurement-dashboard-context{justify-content:flex-start}.procurement-dashboard-filterbar{grid-template-columns:1fr 1fr;padding:9px 10px}.procurement-dashboard-filterbar>label{min-width:0}.procurement-filterbar-head{align-items:flex-start}.procurement-filterbar-head small{white-space:normal}.procurement-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.procurement-kpi-card{min-height:108px;padding:11px 12px}.procurement-kpi-card>div:first-child{display:grid;gap:3px}.procurement-kpi-card b{font-size:23px}.procurement-signal-strip{grid-template-columns:1fr 1fr}.procurement-signal-strip>div{border-bottom:1px solid #d6e1ec}.procurement-signal-strip>div:nth-child(odd){border-right:1px solid #d6e1ec}.procurement-signal-strip>div:nth-child(2n){border-right:0}.procurement-signal-label{grid-column:1 / -1}.procurement-signal-last{grid-column:1 / -1;border-bottom:0!important}.procurement-chart-panel{padding:11px 10px 9px}.procurement-chart-panel-head{align-items:flex-start;flex-direction:column;gap:5px}.procurement-chart-panel-head>.procurement-chart-legend{align-self:stretch}.procurement-chart-footer{flex-wrap:wrap;gap:7px 12px}.procurement-chart-footer-note{margin-left:0;width:100%}.procurement-status-content{grid-template-columns:1fr;gap:12px;min-height:0}.procurement-donut-chart{width:200px;height:200px}.procurement-dashboard-detail-grid .procurement-day-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:6px}.procurement-dashboard-detail-grid .procurement-day-row strong{grid-column:1 / -1;text-align:left}.procurement-arrival-warning-panel{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}.procurement-arrival-warning-head{grid-column:auto}}.procurement-chart-panel-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:12px!important}.procurement-segmented-control{display:inline-flex!important;align-items:center;gap:0!important;border:1px solid #cbd7e4;border-radius:3px;background:#f8fafc;overflow:hidden}.procurement-segmented-control button{min-height:27px;padding:3px 9px;border:0;border-right:1px solid #cbd7e4;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.procurement-segmented-control button:last-child{border-right:0}.procurement-segmented-control button:hover,.procurement-segmented-control button:focus-visible{background:#eef6ff;color:#315b87;outline:none}.procurement-segmented-control button.active{background:#2f6fba;color:#fff}.procurement-donut-segment-hit{cursor:pointer;outline:none}.procurement-donut-segment-hit:hover .procurement-donut-segment,.procurement-donut-segment-hit:focus .procurement-donut-segment,.procurement-donut-segment-selected .procurement-donut-segment{stroke-width:24}.procurement-donut-segment-hit:focus-visible .procurement-donut-segment{stroke:#1f5fbf}.procurement-status-item{width:100%;border:0;border-bottom:1px solid #edf1f5;background:transparent;text-align:left;font:inherit;cursor:pointer}.procurement-status-item:hover,.procurement-status-item:focus-visible{background:#f3f8fe;outline:none}.procurement-status-item.procurement-status-selected{box-shadow:inset 3px 0 #2f6fba}.procurement-status-item:last-child{border-bottom:0}@media(max-width:700px){.procurement-chart-panel-actions{width:100%;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px!important}.procurement-chart-panel-actions .procurement-chart-legend{flex-wrap:wrap;white-space:normal}}.plan-analytics-dashboard{gap:16px}.plan-dashboard-titlebar{align-items:flex-end;padding-bottom:2px}.plan-dashboard-titlebar h2{margin:4px 0 3px;font-size:20px}.plan-dashboard-titlebar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.plan-dashboard-head-tools{min-width:0;display:grid;justify-items:end;gap:8px}.plan-dashboard-head-context{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.plan-dashboard-head-context span{padding:5px 8px;border:1px solid #d9e3ee;border-radius:3px;background:#fff;white-space:nowrap}.plan-kpi-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.plan-kpi-card{min-width:0;min-height:112px;display:grid;align-content:start;gap:8px;padding:13px 14px 11px;border:1px solid var(--border);border-top:3px solid #b9c8d8;border-radius:4px;background:#fff}.plan-kpi-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.plan-kpi-card span{color:var(--text);font-size:12px;font-weight:700}.plan-kpi-card small{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.plan-kpi-card b{color:#101828;font-size:25px;line-height:1;letter-spacing:0}.plan-kpi-card em{min-height:17px;color:var(--muted);font-size:11px;font-style:normal;line-height:1.45}.plan-kpi-plan{border-top-color:#2f6fba}.plan-kpi-actual{border-top-color:#587fa8}.plan-kpi-net{border-top-color:#2c8a63}.plan-kpi-net b{color:#216e4e}.plan-kpi-gap,.plan-kpi-alert{border-top-color:#d39a12}.plan-kpi-severe{border-top-color:#c94c4c}.plan-kpi-severe b{color:#a83d35}.plan-kpi-progress{height:5px;overflow:hidden;border-radius:3px;background:#edf1f5}.plan-kpi-progress i{display:block;height:100%;border-radius:inherit;background:#2c8a63;transition:width .2s ease}.plan-dashboard-filters{display:grid;grid-template-columns:minmax(190px,1.25fr) repeat(5,minmax(130px,1fr));gap:8px;align-items:end;padding:10px 12px;border:1px solid #cdd9e6;background:#fff}.plan-dashboard-filter-title{min-width:0;display:grid;align-content:end;gap:3px}.plan-dashboard-filter-title b{color:var(--text);font-size:13px}.plan-dashboard-filter-title span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.plan-dashboard-filters label{min-width:0;width:auto;display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.plan-dashboard-filters select,.plan-dashboard-filters input{width:100%;min-width:0;min-height:32px;box-sizing:border-box;padding:5px 8px;border:1px solid #cbd7e4;border-radius:3px;background:#fff;color:var(--text)}.plan-dashboard-multiselect{position:relative;min-width:0;display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:600}.plan-dashboard-filter-trigger{min-width:0;width:100%;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid #cbd7e4;border-radius:3px;background:#fff;color:var(--text);text-align:left}.plan-dashboard-filter-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-dashboard-filter-trigger b{color:var(--muted);font-size:12px}.plan-dashboard-filter-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;min-width:190px;max-height:230px;overflow-y:auto;padding:5px;border:1px solid #b9c8d8;border-radius:4px;background:#fff;box-shadow:0 10px 24px #11182724}.plan-dashboard-filter-search{width:100%;min-height:30px;margin-bottom:4px}.plan-dashboard-filter-empty{display:block;padding:7px 8px;color:var(--muted);font-size:11px}.plan-dashboard-option{min-height:29px;display:flex!important;align-items:center;gap:7px!important;padding:4px 6px;color:var(--text)!important;font-size:12px!important;font-weight:500!important;cursor:pointer}.plan-dashboard-option:hover{background:#f1f6fb}.plan-dashboard-option input{width:15px!important;min-height:15px!important;height:15px!important;margin:0;padding:0!important}.plan-dashboard-option-all{margin-bottom:4px;border-bottom:1px solid #e6edf4;color:#315b87!important;font-weight:700!important}.plan-dashboard-reset{min-height:32px;align-self:end}.plan-dashboard-row-count{align-self:center;color:var(--muted);font-size:11px;white-space:nowrap}.plan-dashboard-row-count b{color:var(--text)}.schedule-drill-context{max-width:100%;padding:3px 8px;border:1px solid #b9d2ec;border-radius:12px;background:#eef6ff;color:#315b87}.plan-dashboard-context{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px}.plan-dashboard-context>span:first-child{color:var(--text);font-weight:700}.plan-chart-filter-chip{min-height:25px;padding:3px 8px;border:1px solid #b8cde5;border-radius:12px;background:#f3f8fe;color:#315b87;font-size:11px;cursor:pointer}.plan-chart-filter-chip:hover,.plan-chart-filter-chip:focus-visible{border-color:#2f6fba;background:#e8f1fb;outline:none}.plan-chart-filter-chip b{font-size:13px;font-weight:700}.plan-chart-filter-chip{max-width:min(100%,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-dashboard-context-empty{color:var(--muted)}.plan-signal-strip{min-width:0;display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(130px,1fr)) minmax(150px,.9fr);align-items:center;gap:0;border:1px solid #d6e1ec;background:#f8fbfe}.plan-signal-strip>div{min-width:0;min-height:50px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-right:1px solid #d6e1ec}.plan-signal-strip>div:last-child{border-right:0}.plan-signal-label{display:grid!important;align-content:center;gap:2px!important}.plan-signal-action{justify-self:start;min-height:24px;height:24px;padding:2px 7px;border:1px solid #e2b5b0;border-radius:3px;background:#fff8f7;color:#b54735;font-size:11px}.plan-signal-action:hover,.plan-signal-action:focus-visible{border-color:#b54735;background:#fff1ef;color:#a83d35;outline:none}.plan-signal-label b{color:var(--text);font-size:12px}.plan-signal-item span,.plan-signal-last span{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.plan-signal-item b,.plan-signal-last b{margin-left:auto;color:var(--text);font-size:15px}.plan-signal-last{justify-content:space-between}.plan-signal-last b{color:#315b87;font-size:12px}.plan-signal-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#9aa8b6}.plan-signal-dot.high{background:#c94c4c}.plan-signal-dot.medium{background:#d39a12}.plan-unmatched-panel{display:grid;gap:10px;padding:13px 14px 11px;border-color:#e4c878;background:#fffdf7}.plan-unmatched-panel .plan-chart-panel-head{align-items:flex-start}.plan-unmatched-panel .plan-chart-panel-head h3{color:#7a5600}.plan-unmatched-panel .plan-chart-panel-head span{color:#8a6a19}.plan-unmatched-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.plan-panel-collapse-toggle{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 9px;border-color:#d7b85e;color:#7a5600;background:#fffaf0;white-space:nowrap}.plan-panel-collapse-toggle:hover,.plan-panel-collapse-toggle:focus-visible{border-color:#b58b27;color:#5f4300;background:#fff3c9}.plan-panel-collapse-toggle span{display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid currentColor;font-size:14px;line-height:1}.plan-unmatched-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#8a6a19;font-size:12px;white-space:nowrap}.plan-unmatched-summary span{padding:5px 8px;border:1px solid #e4c878;background:#fff8df}.plan-unmatched-summary b{color:#6e4c00;font-size:14px}.plan-unmatched-table-wrap{max-height:260px;border-color:#ead9a2}.plan-unmatched-table{min-width:820px}.plan-unmatched-table th,.plan-unmatched-table td{padding:7px 8px}.plan-unmatched-reason{max-width:360px;white-space:normal;word-break:break-word;line-height:1.45}.plan-unmatched-empty{display:flex;align-items:baseline;gap:10px;padding:10px 11px;border:1px solid #e4c878;background:#fff;color:#6e4c00}.plan-unmatched-empty span{color:#8a6a19;font-size:12px}.plan-unmatched-hierarchy{display:grid;gap:6px}.plan-unmatched-hierarchy-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8a6a19;font-size:11px}.plan-unmatched-product-group,.plan-unmatched-process-group{border:1px solid #ead9a2;background:#fff}.plan-unmatched-level-row,.plan-unmatched-process-row{display:grid;grid-template-columns:22px minmax(180px,1fr) auto auto minmax(100px,auto);align-items:center;width:100%;min-height:42px;gap:10px;padding:6px 9px;border:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.plan-unmatched-level-row:hover,.plan-unmatched-level-row:focus-visible,.plan-unmatched-process-row:hover,.plan-unmatched-process-row:focus-visible{background:#fff8df;outline:none}.plan-unmatched-expand-icon{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid #d7b85e;color:#7a5600;font-size:15px;line-height:1}.plan-unmatched-level-main{display:grid;gap:2px;min-width:0}.plan-unmatched-level-main b{color:#6e4c00;font-size:13px}.plan-unmatched-level-main small,.plan-unmatched-process-route span{color:var(--muted);font-size:11px}.plan-unmatched-level-stat,.plan-unmatched-level-date{color:#8a6a19;font-size:11px;white-space:nowrap}.plan-unmatched-level-stat b{color:#6e4c00;font-size:13px}.plan-unmatched-level-date{text-align:right}.plan-unmatched-process-list{display:grid;gap:5px;padding:0 8px 8px 38px;border-top:1px solid #f0e5c2;background:#fffdf7}.plan-unmatched-process-row{grid-template-columns:22px minmax(200px,1fr) auto auto minmax(100px,auto);min-height:36px;padding:5px 7px;border-bottom:1px solid #f1e7cb}.plan-unmatched-process-route{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#315b87;font-size:12px}.plan-unmatched-process-route b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-unmatched-rows-panel{display:grid;gap:7px;padding:0 7px 8px 29px}.plan-unmatched-rows-panel .plan-unmatched-table-wrap{max-height:230px}.plan-unmatched-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:11px}.plan-unmatched-pagination button{min-height:24px;padding:2px 7px}@media(max-width:900px){.plan-unmatched-hierarchy-head{align-items:flex-start;flex-direction:column;gap:3px}.plan-unmatched-level-row,.plan-unmatched-process-row{grid-template-columns:22px minmax(130px,1fr) auto}.plan-unmatched-level-date,.plan-unmatched-process-row .plan-unmatched-level-date{display:none}.plan-unmatched-level-stat:last-of-type{grid-column:2}.plan-unmatched-process-list{padding-left:8px}}.plan-chart-panel{gap:10px;padding:13px 14px 11px;border-color:#d7e1ec;box-shadow:0 1px 2px #10182808}.plan-chart-footer{display:flex;align-items:center;gap:14px;min-height:17px;color:var(--muted);font-size:11px}.plan-chart-footer span{display:inline-flex;align-items:center;gap:5px}.plan-chart-footer-note{margin-left:auto}.plan-trend-day,.plan-status-segment{cursor:pointer;outline:none}.plan-trend-day:hover .plan-chart-bar,.plan-trend-day:focus .plan-chart-bar{opacity:.78}.plan-trend-day-selected .plan-chart-bar{opacity:1;stroke:#1f5fbf;stroke-width:1}.plan-status-segment{transition:stroke-width .15s ease,opacity .15s ease}.plan-status-segment:hover,.plan-status-segment:focus,.plan-status-segment-selected{stroke-width:24;opacity:.88}.plan-status-item{cursor:pointer}.plan-status-item:hover,.plan-status-item:focus-visible,.plan-status-item-selected{background:#f3f8fe;outline:none}.plan-status-item-selected{box-shadow:inset 3px 0 #2f6fba}.plan-hierarchy-panel{grid-column:1 / -1}.plan-chart-scale{color:var(--muted);font-size:11px;white-space:nowrap}.plan-hierarchy-actions{display:flex!important;align-items:center;gap:6px!important;flex-wrap:wrap}.plan-hierarchy-actions button{min-height:26px;padding:2px 7px;font-size:11px}.plan-hierarchy-table-wrap{max-height:360px;overflow-x:auto;overflow-y:auto}.plan-hierarchy-table{min-width:920px}.plan-hierarchy-table th,.plan-hierarchy-table td{padding:7px 9px}.plan-hierarchy-department-row{background:#f7faff}.plan-hierarchy-department-row td{border-top:1px solid #cdd9e6}.plan-hierarchy-child-row{background:#fff;color:#315b87}.plan-hierarchy-child-row td:first-child{padding-left:34px}.plan-department-panel .plan-chart-scroll{max-height:320px;overflow-x:hidden;overflow-y:auto}.plan-delay-chart-panel .plan-delay-chart-list{max-height:320px;overflow-y:auto}.plan-hierarchy-toggle{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;padding:0;border:1px solid #8ba9c7;border-radius:3px;color:#315b87;background:#eef6ff;font-size:15px;line-height:1}.plan-hierarchy-name,.plan-hierarchy-process{min-height:24px;padding:2px 5px;border:0;background:transparent;color:var(--text);font-weight:700;cursor:pointer;text-align:left}.plan-hierarchy-name:hover,.plan-hierarchy-name:focus-visible,.plan-hierarchy-process:hover:not(:disabled),.plan-hierarchy-process:focus-visible:not(:disabled){color:var(--blue);background:#eaf2ff;outline:none}.plan-hierarchy-process{color:#315b87;font-weight:600}.plan-hierarchy-process:disabled{color:#667085;cursor:default}@media(max-width:1250px){.plan-kpi-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-dashboard-filters{grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(130px,1fr))}.plan-dashboard-filter-title{grid-column:1 / -1}.plan-dashboard-row-count{justify-self:end}.plan-daily-delay-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.plan-dashboard-titlebar{align-items:flex-start;flex-direction:column;gap:9px}.plan-dashboard-head-tools{width:100%;justify-items:start}.plan-dashboard-head-context{justify-content:flex-start}.plan-dashboard-filters{grid-template-columns:1fr 1fr;padding:9px 10px}.plan-dashboard-filter-title{grid-column:1 / -1}.plan-dashboard-row-count{grid-column:1 / -1;justify-self:start}.plan-signal-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-signal-label{grid-column:1 / -1;border-right:0!important;border-bottom:1px solid #d6e1ec}.plan-signal-last{border-right:0!important}}@media(max-width:560px){.plan-daily-delay-panel{padding:11px 10px}.plan-daily-delay-filters{grid-template-columns:1fr;padding:9px}.plan-daily-delay-filters>.ghost{justify-self:stretch}.plan-daily-delay-summary{grid-template-columns:1fr 1fr}.plan-daily-delay-summary>span{border-right:0;border-bottom:1px solid #d6e1ec}.plan-daily-delay-summary>span:nth-child(odd){border-right:1px solid #d6e1ec}.plan-daily-delay-summary>span:nth-child(3){border-right:1px solid #d6e1ec}.plan-daily-delay-summary>span:last-child,.plan-daily-delay-summary>span:nth-last-child(2){border-bottom:0}.plan-daily-department-head{align-items:flex-start;flex-wrap:wrap;gap:6px 8px}.plan-daily-department-summary{order:4;flex-basis:calc(100% - 30px);white-space:normal}.plan-daily-department-head .status{margin-left:30px}.plan-daily-department-head .hint{margin-left:auto}.plan-daily-column-list>label{flex:1 1 132px}.plan-daily-note-modal{padding:10px}.plan-daily-note-dialog{max-height:calc(100vh - 20px);overflow-y:auto;padding:13px}.plan-schedule-notice-bar{align-items:flex-start;padding:6px 8px}.plan-schedule-notice-summary{align-items:flex-start;gap:4px 8px}.plan-schedule-notice-summary>span{white-space:normal}.plan-schedule-notice-trigger{align-self:center}.plan-schedule-notice-backdrop{padding:8px}.plan-schedule-notice-dialog{width:100%;max-height:calc(100vh - 16px)}.plan-kpi-cards{grid-template-columns:1fr 1fr;gap:8px}.plan-kpi-card{min-height:104px;padding:11px 12px}.plan-kpi-card>div:first-child{display:grid;gap:3px}.plan-kpi-card b{font-size:22px}.plan-dashboard-filters{grid-template-columns:1fr}.plan-dashboard-filter-title,.plan-dashboard-row-count{grid-column:auto}.plan-signal-strip{grid-template-columns:1fr 1fr}.plan-signal-strip>div{border-bottom:1px solid #d6e1ec}.plan-signal-strip>div:nth-child(odd){border-right:1px solid #d6e1ec}.plan-signal-strip>div:nth-child(2n){border-right:0}.plan-signal-label{grid-column:1 / -1}.plan-signal-last{grid-column:1 / -1;border-bottom:0!important}.plan-chart-panel{padding:11px 10px 9px}.plan-trend-chart{min-width:540px}.plan-department-chart{min-width:0;max-width:100%}.plan-dashboard-filter-menu{left:0;right:auto;width:min(260px,calc(100vw - 48px))}.plan-chart-footer{flex-wrap:wrap;gap:7px 12px}.plan-chart-footer-note{margin-left:0;width:100%}}@media(max-width:1100px){.watermark-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.watermark-preview-block{grid-column:1 / -1}}@media(max-width:600px){.watermark-settings-grid{grid-template-columns:1fr}.watermark-settings-grid fieldset,.watermark-preview-block{grid-column:auto}.watermark-radio-grid{grid-template-columns:1fr}.watermark-settings-head{align-items:flex-start;flex-direction:column}.watermark-settings-actions{justify-content:stretch}.watermark-settings-actions button{flex:1}.page-watermark.watermark-density-dense{grid-template-columns:repeat(3,minmax(0,1fr))}}
