/* batch-1006 design tokens */
:root{
  --ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:24px;
  --ui-radius-sm:6px;--ui-radius-md:8px;--ui-radius-lg:12px;
  --ui-font-body:16px;--ui-font-table:14px;--ui-font-help:13px;
  --ui-shadow-panel:0 3px 14px #1e293b09;--ui-shadow-modal:0 20px 70px #17304755;
  --ui-success-text:#166534;--ui-success-surface:#eaf7ee;
  --ui-warning-text:#92400e;--ui-warning-border:#d97706;
  --ui-disabled-text:#526173;--ui-disabled-surface:#eef1f4;
  --ui-focus:#155e9a;--ui-focus-halo:#d9edff;
  --ui-legacy-0002:#0002;
  --ui-legacy-0003:#0003;
  --ui-brand-hover:#0c395e;
  --ui-legacy-0f172a45:#0f172a45;
  --ui-legacy-0f172a50:#0f172a50;
  --ui-legacy-0f172a80:#0f172a80;
  --ui-legacy-111:#111;
  --ui-legacy-1233:#1233;
  --ui-brand-deep:#123e63;
  --ui-legacy-13507d:#13507d;
  --ui-legacy-137258:#137258;
  --ui-legacy-152b3e:#152b3e;
  --ui-legacy-152c3f99:#152c3f99;
  --ui-legacy-16845e:#16845e;
  --ui-legacy-16a34a:#16a34a;
  --ui-legacy-17304755:#17304755;
  --ui-text-strong:#173249;
  --ui-legacy-173e5f:#173e5f;
  --ui-legacy-173e61:#173e61;
  --ui-brand:#174b75;
  --ui-legacy-17558c:#17558c;
  --ui-legacy-175a87:#175a87;
  --ui-legacy-17628d:#17628d;
  --ui-legacy-176b3a:#176b3a;
  --ui-legacy-183a57:#183a57;
  --ui-legacy-183d5d:#183d5d;
  --ui-legacy-193b59:#193b59;
  --ui-text-dark:#1e293b;
  --ui-legacy-1e293b09:#1e293b09;
  --ui-legacy-1e293b33:#1e293b33;
  --ui-legacy-203248:#203248;
  --ui-legacy-204a70:#204a70;
  --ui-legacy-205f8b:#205f8b;
  --ui-text:#213047;
  --ui-legacy-214e72:#214e72;
  --ui-legacy-222:#222;
  --ui-legacy-233e55:#233e55;
  --ui-legacy-2370aa:#2370aa;
  --ui-legacy-246ca5:#246ca5;
  --ui-legacy-25445e:#25445e;
  --ui-legacy-2670a6:#2670a6;
  --ui-success:#267346;
  --ui-legacy-275e7e:#275e7e;
  --ui-legacy-27679b:#27679b;
  --ui-legacy-28724c:#28724c;
  --ui-legacy-29425c:#29425c;
  --ui-legacy-2b7ab4:#2b7ab4;
  --ui-legacy-2c9b69:#2c9b69;
  --ui-legacy-2e5677:#2e5677;
  --ui-legacy-334155:#334155;
  --ui-legacy-375064:#375064;
  --ui-legacy-42566c:#42566c;
  --ui-legacy-43576c:#43576c;
  --ui-legacy-43586d:#43586d;
  --ui-legacy-45627b:#45627b;
  --ui-legacy-46556b:#46556b;
  --ui-label:#475569;
  --ui-legacy-476980:#476980;
  --ui-legacy-49627a:#49627a;
  --ui-legacy-50627b:#50627b;
  --ui-legacy-5086a9:#5086a9;
  --ui-text-subtle:#52677a;
  --ui-legacy-526c81:#526c81;
  --ui-legacy-536779:#536779;
  --ui-legacy-536b80:#536b80;
  --ui-legacy-536c81:#536c81;
  --ui-legacy-556a7c:#556a7c;
  --ui-legacy-56ceff:#56ceff;
  --ui-legacy-586b7b:#586b7b;
  --ui-legacy-607086:#607086;
  --ui-legacy-607286:#607286;
  --ui-legacy-617387:#617387;
  --ui-legacy-61758b:#61758b;
  --ui-legacy-621b16:#621b16;
  --ui-legacy-63758a:#63758a;
  --ui-text-muted:#64748b;
  --ui-legacy-654919:#654919;
  --ui-legacy-66788b:#66788b;
  --ui-legacy-68788c:#68788c;
  --ui-legacy-6a7a8c:#6a7a8c;
  --ui-legacy-73849a:#73849a;
  --ui-legacy-79a7cf:#79a7cf;
  --ui-legacy-7a8ca0:#7a8ca0;
  --ui-legacy-7b8c9b:#7b8c9b;
  --ui-legacy-7d1e17:#7d1e17;
  --ui-legacy-7d241f26:#7d241f26;
  --ui-legacy-7e6410:#7e6410;
  --ui-legacy-80531e:#80531e;
  --ui-legacy-82909b:#82909b;
  --ui-legacy-885d00:#885d00;
  --ui-legacy-8c1e15:#8c1e15;
  --ui-legacy-8c4b13:#8c4b13;
  --ui-legacy-8e211a:#8e211a;
  --ui-legacy-8eafca:#8eafca;
  --ui-legacy-93b5d1:#93b5d1;
  --ui-legacy-943528:#943528;
  --ui-legacy-946117:#946117;
  --ui-danger-text:#991b1b;
  --ui-legacy-9a2b16:#9a2b16;
  --ui-legacy-9a3412:#9a3412;
  --ui-legacy-9a5800:#9a5800;
  --ui-legacy-9a5a18:#9a5a18;
  --ui-legacy-9ac4e2:#9ac4e2;
  --ui-legacy-a23a32:#a23a32;
  --ui-legacy-a25315:#a25315;
  --ui-legacy-a32c20:#a32c20;
  --ui-legacy-a43d24:#a43d24;
  --ui-legacy-a72f29:#a72f29;
  --ui-legacy-a84b22:#a84b22;
  --ui-legacy-a92d19:#a92d19;
  --ui-legacy-a96a20:#a96a20;
  --ui-legacy-aa3725:#aa3725;
  --ui-danger:#b42318;
  --ui-legacy-b43f27:#b43f27;
  --ui-legacy-b53d32:#b53d32;
  --ui-legacy-b8cbdc:#b8cbdc;
  --ui-legacy-bd3328:#bd3328;
  --ui-legacy-bd661a:#bd661a;
  --ui-legacy-bdcfdf:#bdcfdf;
  --ui-legacy-c6d4df:#c6d4df;
  --ui-legacy-c7d4e0:#c7d4e0;
  --ui-legacy-c84a34:#c84a34;
  --ui-legacy-c8d4e2:#c8d4e2;
  --ui-legacy-c9d1dc:#c9d1dc;
  --ui-legacy-c9d5e0:#c9d5e0;
  --ui-legacy-cad5df:#cad5df;
  --ui-legacy-cad6e3:#cad6e3;
  --ui-border:#cbd5e1;
  --ui-legacy-cc5149:#cc5149;
  --ui-legacy-d4dfe8:#d4dfe8;
  --ui-legacy-d59b26:#d59b26;
  --ui-legacy-d6a541:#d6a541;
  --ui-legacy-d75b37:#d75b37;
  --ui-legacy-d79922:#d79922;
  --ui-legacy-d7e0eb:#d7e0eb;
  --ui-legacy-d8cdae:#d8cdae;
  --ui-legacy-d8e1ea:#d8e1ea;
  --ui-legacy-d8e1eb:#d8e1eb;
  --ui-legacy-d8e2ea:#d8e2ea;
  --ui-legacy-d9a73f:#d9a73f;
  --ui-legacy-d9dee2:#d9dee2;
  --ui-legacy-d9e3ed:#d9e3ed;
  --ui-legacy-d9e3ee:#d9e3ee;
  --ui-legacy-dae2ec:#dae2ec;
  --ui-border-subtle:#dbe3ed;
  --ui-legacy-dbe4ef:#dbe4ef;
  --ui-danger-border:#dc2626;
  --ui-legacy-dce4ed:#dce4ed;
  --ui-legacy-dcebf8:#dcebf8;
  --ui-legacy-dceefc:#dceefc;
  --ui-legacy-ddd:#ddd;
  --ui-legacy-dde5eb:#dde5eb;
  --ui-legacy-e0e8f0:#e0e8f0;
  --ui-legacy-e0efff:#e0efff;
  --ui-legacy-e1e7ee:#e1e7ee;
  --ui-legacy-e1e7ef:#e1e7ef;
  --ui-legacy-e1e8f0:#e1e8f0;
  --ui-border-soft:#e2e8f0;
  --ui-legacy-e2f0fb:#e2f0fb;
  --ui-legacy-e3aca4:#e3aca4;
  --ui-legacy-e4ebf2:#e4ebf2;
  --ui-legacy-e4f2fc:#e4f2fc;
  --ui-legacy-e5eaf0:#e5eaf0;
  --ui-legacy-e5f5eb:#e5f5eb;
  --ui-legacy-e7a317:#e7a317;
  --ui-legacy-e7c98d:#e7c98d;
  --ui-legacy-e7d9ba:#e7d9ba;
  --ui-legacy-e7ecf2:#e7ecf2;
  --ui-legacy-e7edf3:#e7edf3;
  --ui-legacy-e7edf7:#e7edf7;
  --ui-legacy-e8edf3:#e8edf3;
  --ui-legacy-e8eff6:#e8eff6;
  --ui-brand-soft:#e8f1fa;
  --ui-legacy-e8f8f0:#e8f8f0;
  --ui-legacy-e9eef8:#e9eef8;
  --ui-legacy-eaf0f6:#eaf0f6;
  --ui-legacy-eaf3fb:#eaf3fb;
  --ui-legacy-eaf4fb:#eaf4fb;
  --ui-legacy-eaf4ff:#eaf4ff;
  --ui-legacy-ecd8ab:#ecd8ab;
  --ui-legacy-eddfbd:#eddfbd;
  --ui-legacy-edf2f7:#edf2f7;
  --ui-legacy-edf3f8:#edf3f8;
  --ui-legacy-edf5fc:#edf5fc;
  --ui-legacy-edf6ff:#edf6ff;
  --ui-legacy-edf7fb:#edf7fb;
  --ui-legacy-eee1c4:#eee1c4;
  --ui-legacy-eef3f7:#eef3f7;
  --ui-legacy-eef4f8:#eef4f8;
  --ui-legacy-eef6fa:#eef6fa;
  --ui-legacy-eef7fd:#eef7fd;
  --ui-legacy-eff4f7:#eff4f7;
  --ui-legacy-f1f5f9:#f1f5f9;
  --ui-legacy-f1f6fa:#f1f6fa;
  --ui-legacy-f3f6fa:#f3f6fa;
  --ui-legacy-f3f7fa:#f3f7fa;
  --ui-legacy-f3f7fb:#f3f7fb;
  --ui-legacy-f4f7fb:#f4f7fb;
  --ui-legacy-f4f8fc:#f4f8fc;
  --ui-canvas:#f5f7fa;
  --ui-legacy-f5f9fc:#f5f9fc;
  --ui-legacy-f6ab26:#f6ab26;
  --ui-legacy-f6c75b:#f6c75b;
  --ui-legacy-f6f9fc:#f6f9fc;
  --ui-legacy-f7f9fc:#f7f9fc;
  --ui-legacy-f7fafc:#f7fafc;
  --ui-legacy-f7fafdef:#f7fafdef;
  --ui-surface-alt:#f8fafc;
  --ui-legacy-fbfdff:#fbfdff;
  --ui-danger-surface:#fee2e2;
  --ui-legacy-ffdfdb:#ffdfdb;
  --ui-legacy-ffe8e5:#ffe8e5;
  --ui-surface:#fff;
  --ui-legacy-fff0a8:#fff0a8;
  --ui-legacy-fff0d8:#fff0d8;
  --ui-legacy-fff0df:#fff0df;
  --ui-legacy-fff0e8:#fff0e8;
  --ui-legacy-fff0ec:#fff0ec;
  --ui-legacy-fff0ed:#fff0ed;
  --ui-legacy-fff2ee:#fff2ee;
  --ui-legacy-fff3ce:#fff3ce;
  --ui-legacy-fff6df:#fff6df;
  --ui-legacy-fff7df:#fff7df;
  --ui-legacy-fff7e4:#fff7e4;
  --ui-legacy-fff7e5:#fff7e5;
  --ui-legacy-fff7ed:#fff7ed;
  --ui-legacy-fff8db:#fff8db;
  --ui-legacy-fff8e7:#fff8e7;
  --ui-legacy-fff8e9:#fff8e9;
  --ui-legacy-fff8eb:#fff8eb;
  --ui-legacy-fff8ef:#fff8ef;
  --ui-legacy-fff9e9:#fff9e9;
  --ui-legacy-fffbf1:#fffbf1;
  --ui-legacy-ffffff13:#ffffff13;
  --ui-legacy-ffffff50:#ffffff50;
  --ui-legacy-ffffff65:#ffffff65;
}
/* end batch-1006 design tokens */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ui-text);background:var(--ui-canvas);font-size:16px}

*{box-sizing:border-box}
body{margin:0;min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-legacy-29425c);padding:8px 13px}
button:hover{background:var(--ui-legacy-f1f5f9)}
button:disabled{cursor:not-allowed;opacity:.55}
.primary,button.primary{background:var(--ui-brand);border-color:var(--ui-brand);color:var(--ui-surface)}
.primary:hover{background:var(--ui-brand-hover)}
input,select,textarea{border:1px solid var(--ui-border);border-radius:7px;background:var(--ui-surface);color:var(--ui-text-dark);padding:8px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ui-legacy-79a7cf);outline-offset:1px}
label{color:var(--ui-label)}
label>input,label>select,label>textarea{margin-top:4px}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:30px}
h2{font-size:22px}
h3{font-size:18px}
small,.view-sub,.inline-tip,.tip{color:var(--ui-text-muted)}
.production-shell small,.production-shell .view-sub,.production-shell .inline-tip,.production-shell .tip{font-size:13px}
strong,b{color:var(--ui-legacy-203248)}
a{color:var(--ui-legacy-17558c)}
[hidden]{display:none!important}
.backup-alert{background:var(--ui-danger-surface);border:1px solid var(--ui-danger-border);color:var(--ui-danger-text);padding:6px 10px;border-radius:8px;margin:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.process-card-import{padding:12px;border:1px solid var(--ui-legacy-d7e0eb);border-radius:9px;margin:10px 0 20px}
.process-card-import>label{display:block;margin-bottom:10px}
.process-card-association{border-bottom:1px solid var(--ui-legacy-d7e0eb);padding:10px 0}
.process-card-association h4{margin:0 0 5px}
.process-card-candidate{display:inline-flex;align-items:center;gap:5px;margin:4px 12px 4px 0}
.tablet-card-search input{min-width:min(420px,80vw);margin-left:8px}
.tablet-card-layout{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:16px;margin-top:14px}
.tablet-card-layout>*{min-width:0}
.tablet-card-layout aside{max-height:72vh;overflow:auto;border-right:1px solid var(--ui-legacy-dbe4ef);padding-right:10px}
.tablet-card-layout aside button{display:block;width:100%;text-align:left;margin-bottom:7px}
.tablet-card-layout aside button.selected{background:var(--ui-legacy-dceefc);border-color:var(--ui-legacy-246ca5)}
.tablet-card-layout aside small{display:block;font-size:12px;color:var(--ui-legacy-66788b);margin-top:3px}
.tablet-card-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:start}
.tablet-card-heading h2{font-size:25px;margin-bottom:6px}
.tablet-card-heading p{margin:4px 0;color:var(--ui-legacy-50627b)}
.tablet-card-sheet{min-width:0;max-width:100%;overflow-x:auto;padding:8px 0}
.tablet-card-group{border:1px solid var(--ui-legacy-cad6e3);border-radius:9px;margin:10px 0;padding:12px}
.tablet-card-group h3{font-size:19px;margin-bottom:9px}
.tablet-card-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:7px}
.tablet-card-field{display:grid;gap:4px;padding:9px;border:1px solid var(--ui-legacy-d8e2ea);border-radius:6px}
.tablet-card-field small{font-size:12px;color:var(--ui-legacy-586b7b)}
.tablet-card-field strong{font-size:21px;color:var(--ui-legacy-152b3e)}
.tablet-card-field.changed,.qimo-cell.changed{background:var(--ui-legacy-fff0a8)!important}
.tablet-card-photos{display:flex;flex-wrap:wrap;gap:12px}
.tablet-card-photos img{max-width:min(45%,400px);max-height:300px;object-fit:contain;border:1px solid var(--ui-border)}
.qimo-sheet{display:grid;position:relative;width:204mm;height:285mm;background:var(--ui-surface);color:var(--ui-legacy-111);overflow:hidden;box-shadow:0 2px 12px var(--ui-legacy-0002);flex:none}
.qimo-cell{display:flex;min-width:0;min-height:0;overflow:hidden;white-space:pre-wrap;line-height:1.02;padding:0 1px;box-sizing:border-box}
.qimo-cell>span{display:block;align-self:center;min-width:0;width:100%;max-height:100%;overflow:hidden;word-break:break-word;text-align:inherit}
.qimo-cell.qimo-fit>span{white-space:nowrap;word-break:normal;overflow:visible}
.qimo-shape{position:absolute;pointer-events:none;border:.25pt solid var(--ui-legacy-222);box-sizing:border-box}
.qimo-shape.qimo-ellipse{border-radius:50%}
@media(max-width:760px){.tablet-card-layout{grid-template-columns:minmax(0,1fr)}.tablet-card-layout aside{max-height:160px;border-right:0;border-bottom:1px solid var(--ui-legacy-dbe4ef)}}

.production-shell .panel{background:var(--ui-surface);border:1px solid var(--ui-border-soft);border-radius:12px;box-shadow:0 3px 14px var(--ui-legacy-1e293b09);padding:16px;margin:0}
.production-shell{display:grid;grid-template-columns:170px minmax(0,1fr);grid-template-areas:"nav workspace";column-gap:16px;align-items:start}
.production-shell.nav-collapsed{grid-template-columns:44px minmax(0,1fr)}
.production-shell .production-workspace{grid-area:workspace;display:flex;flex-direction:column;gap:10px;min-width:0;max-width:100%;align-self:start}
.production-shell .production-top{min-height:40px;max-height:48px;gap:12px}
.production-shell .production-top h1{margin:0;line-height:1;white-space:nowrap}
.production-shell .production-top>div{display:flex;align-items:center;gap:8px;white-space:nowrap}
.production-shell main{min-width:0;max-width:100%}
.production-shell #app-message:empty{display:none}
.production-shell .panel{min-width:0}
.production-shell .production-nav{grid-area:nav;display:block;position:sticky;top:10px;align-self:start;height:calc(100vh - 20px);overflow-y:auto;overflow-x:hidden;padding:7px;background:var(--ui-surface);border:1px solid var(--ui-border-subtle);border-radius:10px;box-shadow:0 3px 14px var(--ui-legacy-1e293b09)}
.production-shell .production-nav #nav-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;padding:5px;font-size:16px;white-space:nowrap}
.production-shell .production-nav .nav-group{margin:5px 0 8px}
.production-shell .production-nav .nav-group h2{margin:8px 5px 3px;color:var(--ui-text-muted);font-size:14px;font-weight:700;line-height:18px}
.production-shell .production-nav .nav-group.active h2{color:var(--ui-brand)}
.production-shell .production-nav .nav-group button{display:block;width:100%;min-height:40px;margin:1px 0;padding:7px 8px;text-align:left;font-size:16px;line-height:24px;white-space:nowrap;border:0;border-radius:6px;background:transparent}
.production-shell .production-nav .nav-group button:hover{background:var(--ui-brand-soft)}
.production-shell .production-nav .nav-group button.active{background:var(--ui-brand-deep);color:var(--ui-surface);font-weight:700}
.production-shell.nav-collapsed .production-nav{padding:2px}
.production-shell.nav-collapsed #nav-groups,.production-shell.nav-collapsed .nav-toggle-label{display:none}
.production-shell.nav-collapsed .production-nav #nav-toggle{width:38px}
/* Keep existing dense tables within the content column when the sidebar is open. */
@media(min-width:901px) and (max-width:1400px){.production-shell #panel-production-overview .e1-layout{grid-template-columns:1fr}.production-shell #panel-production-overview .e1-sources{max-height:none}.production-shell #panel-production-overview .e1-sources #e1-sources{display:flex;gap:6px;overflow-x:auto}.production-shell #panel-production-overview .e1-source-card{min-width:215px;max-width:235px}.production-shell #panel-production-overview .e1-source-all{position:static}.production-shell #panel-production-records{padding:5px}}
@media(max-width:760px){.production-shell{position:relative;grid-template-columns:44px minmax(0,1fr);column-gap:8px}.production-shell.nav-collapsed{grid-template-columns:minmax(0,1fr);grid-template-areas:"workspace"}.production-shell.nav-collapsed .production-nav{position:absolute;top:18px;left:24px;height:auto}.production-shell.nav-collapsed .production-top{padding-left:52px}.production-shell .production-nav{overflow:visible;z-index:31}.production-shell:not(.nav-collapsed) #nav-groups{position:absolute;top:45px;left:0;width:170px;padding:7px;background:var(--ui-surface);border:1px solid var(--ui-border-subtle);border-radius:8px;box-shadow:0 8px 24px var(--ui-legacy-1e293b33);z-index:30}.production-shell:not(.nav-collapsed) .production-nav #nav-toggle{width:38px}.production-shell:not(.nav-collapsed) .nav-toggle-label{display:none}}
#panel-home>.data-read-time [role="status"]{display:none}
.data-read-time{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:0;padding:0;border-radius:7px;color:var(--ui-label);font-size:12px;white-space:nowrap}
.data-read-time button.data-read-refresh{padding:3px 9px;font-size:12px}
.production-shell .data-read-time{font-size:13px}
.production-shell .data-read-time button.data-read-refresh{font-size:14px}
.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px;border-bottom:1px solid var(--ui-legacy-dbe4ef);padding-bottom:10px}
.settings-tabs button{min-height:40px;font-size:16px}
.settings-tabs button[aria-selected="true"]{background:var(--ui-brand);border-color:var(--ui-brand);color:var(--ui-surface);font-weight:700}
.settings-pane h3{margin:0 0 12px}
#panel-settings .settings-pane form{width:100%;max-width:480px}
#panel-settings .settings-pane form input:not([type="checkbox"]),#panel-settings .settings-pane form select{max-width:100%;width:100%}
#master-import-panel>label,#master-import-panel>input,#master-import-product-options{display:block;max-width:480px;width:100%;margin-bottom:10px}
#panel-settings .settings-pane .table-wrap{max-width:100%;overflow-x:auto}
.backup-alert a{color:var(--ui-legacy-8c1e15);text-decoration:underline;margin-left:6px}
.data-read-time.stale{background:var(--ui-legacy-fff0e8);border:1px solid var(--ui-legacy-d75b37);color:var(--ui-legacy-9a2b16);font-weight:700}
.data-read-time.stale button{border-color:var(--ui-legacy-d75b37);color:var(--ui-legacy-9a2b16)}
.overview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.overview-header>div:first-child:not(.data-read-time){display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.overview-header.auto-view-header>h2{margin:0}
.view-title{font-size:21px;font-weight:700}
.view-sub{font-size:13px;margin-top:0}
.filter-bar,.stat-pills,.requirement-actions,.requirement-toolbar,.intake-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0}
.intake-toolbar{margin:8px 0}
.stat-pill{display:inline-flex;gap:5px;align-items:center;border-radius:999px;background:var(--ui-brand-soft);padding:6px 11px}
.search-box{min-width:220px}
.table-wrap,.intake-table,.requirement-table{overflow-x:auto}
.factory-shift-form{display:grid;gap:12px;max-width:700px;margin:12px 0 22px}
.factory-shift-form>label,.factory-shift-form fieldset label{display:grid;gap:4px}
.factory-shift-form fieldset{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--ui-legacy-dbe4ef);border-radius:8px;padding:12px}
.factory-shift-form fieldset label{min-width:145px}
table{border-collapse:collapse;width:100%}
.production-shell table{font-size:14px}
.production-shell table button{font-size:14px}
.production-shell table input:not([type=checkbox]),.production-shell table select,.production-shell table textarea{font-size:16px}
th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--ui-legacy-e5eaf0);vertical-align:top}
th{color:var(--ui-label);background:var(--ui-surface-alt);font-weight:650;white-space:nowrap}
td small{display:block;margin-top:3px}
.production-shell td small{font-size:13px}
.num,.mono{font-variant-numeric:tabular-nums}
details{margin:12px 0}
summary{cursor:pointer;font-weight:650;color:var(--ui-legacy-334155)}
dialog{border:1px solid var(--ui-legacy-d7e0eb);border-radius:12px;box-shadow:0 16px 50px var(--ui-legacy-0f172a45);padding:20px;max-width:min(920px,95vw);max-height:90vh;overflow:auto}
dialog::backdrop{background:var(--ui-legacy-0f172a80)}
/* Preserve the approved Gantt controls and the original Qimo print sheet. */
#panel-production-plan,#plan-editor,#plan-closure,.production-shell .qimo-sheet{font-size:14px}

#panel-purchase-intake .intake-layout{display:grid;grid-template-columns:minmax(200px,250px) minmax(0,1fr);gap:15px}
.intake-layout aside{border-right:1px solid var(--ui-border-soft);padding-right:12px}
.intake-layout aside button{display:block;width:100%;text-align:left;margin:5px 0}
.intake-layout aside button span{display:block;color:var(--ui-text-muted);font-size:12px}
.intake-layout aside .intake-document-summary{border:1px solid var(--ui-border-soft);border-radius:8px;padding:8px 10px;margin:5px 0}
.intake-layout aside .intake-document-summary span{display:block;color:var(--ui-text-muted);font-size:12px}
.intake-main{min-width:0}
.intake-receipt-heading,.intake-summary-actions,.intake-line-summary div,.intake-actions,.intake-product-row,.intake-candidates{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.intake-receipt-heading{justify-content:space-between}
.intake-overview{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}
.intake-overview span{background:var(--ui-legacy-edf5fc);padding:7px;border-radius:7px}
.intake-table table{min-width:700px}
.intake-table td small{color:var(--ui-text-muted)}
.intake-detail{border:1px solid var(--ui-legacy-dbe4ef);border-radius:10px;padding:15px;margin:14px 0;display:grid;gap:12px}
.intake-detail-compact{padding:10px}
.intake-line-summary{border-bottom:1px solid var(--ui-border-soft);padding-bottom:9px}
.intake-match-flow{display:grid;gap:8px}
.intake-candidates{flex-direction:column;align-items:stretch}
.intake-product-row{justify-content:space-between;border-bottom:1px solid var(--ui-border-soft);padding:5px 0}
.intake-pending-title{color:var(--ui-legacy-9a5800);font-weight:700}
.intake-recognized{color:var(--ui-legacy-137258)}
.intake-warning{color:var(--ui-legacy-a23a32)}
.intake-identity,.intake-suggestions{background:var(--ui-legacy-f4f7fb);padding:9px;border-radius:7px}
.intake-identity div,.intake-suggestions div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.intake-original dl{display:grid;grid-template-columns:95px 1fr;gap:7px}
.intake-original dd{margin:0;overflow-wrap:anywhere}
.intake-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
.intake-secondary,.intake-quiet{background:var(--ui-surface)}

.requirement-actions{justify-content:flex-end}
.requirement-toolbar{padding:9px 0}
.requirement-table table{min-width:850px}
.requirement-table .req-date.completed{color:var(--ui-text-subtle)}
.requirement-table small{display:block;color:var(--ui-text-muted)}
.req-weight-summary{padding:10px 12px;background:var(--ui-legacy-eef6fa);border-left:3px solid var(--ui-legacy-5086a9)}
.req-weight-summary small{display:block;color:var(--ui-legacy-536779);margin-top:4px}
.requirement-spec{white-space:pre-wrap}
.requirement-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.requirement-editor-grid label{display:grid;gap:4px}
.req-wide{grid-column:1/-1}
.requirement-editor-head,.requirement-editor-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.requirement-history{border-top:1px solid var(--ui-border-soft);padding-top:12px}
.requirement-table button{white-space:nowrap;margin:2px}
.requirement-error{color:var(--ui-danger)}

.production-run-list{display:grid;gap:10px}
.production-run-card,.production-event-card,.production-run-section,.production-run-empty,.production-validation-banner{border:1px solid var(--ui-legacy-d9e3ee);border-radius:9px;background:var(--ui-surface);padding:12px;margin:9px 0}
.production-run-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(320px,2fr);gap:15px}
.production-run-card-title,.production-event-card-head,.production-run-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.production-run-card-meta,.production-run-context,.production-run-plan-actual,.production-event-meta{display:flex;flex-wrap:wrap;gap:12px}
.production-run-card-meta em,.production-run-context em,.production-run-plan-actual em{display:block;color:var(--ui-text-muted);font-style:normal;font-size:12px}
.production-run-card-meta b,.production-run-context b,.production-run-plan-actual b{display:block}
.production-run-status{border-radius:999px;background:var(--ui-legacy-e0efff);padding:4px 8px}
.production-open-event-list{display:grid;gap:8px}
.production-event-card{background:var(--ui-legacy-fff8ef)}
.production-event-followup{padding:8px 10px;background:var(--ui-surface);border:1px solid var(--ui-legacy-e7d9ba);border-radius:6px;line-height:1.5}
.production-event-actions details>div{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:8px 0}
.production-event-actions details label{display:grid;gap:3px;min-width:180px}
.production-event-actions details input,.production-event-actions details select{padding:7px;border:1px solid var(--ui-legacy-cad5df);border-radius:5px}
.event-action-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.event-action-presets button{padding:5px 9px;font-size:12px}
.production-event-result{border-left:3px solid var(--ui-legacy-16a34a);padding-left:8px}
.production-event-history{border-top:1px solid var(--ui-border-soft);padding-top:12px;margin-top:15px}
.production-run-pagination,.production-run-filters,.production-event-history-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.production-run-filters label,.production-event-history-filters label{display:grid;gap:3px}
.production-run-stats{display:flex;gap:9px}
.production-worker-grid,.production-route-grid,.production-run-start-fields,.production-run-quantity-entry{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.production-worker-choice,.production-route-choice{display:flex;align-items:center;gap:7px;border:1px solid var(--ui-legacy-dce4ed);border-radius:8px;padding:8px}
.production-blockers,.production-conflict{color:var(--ui-legacy-9a3412);background:var(--ui-legacy-fff7ed);padding:9px;border-radius:7px}
.production-run-modal-body{overflow:auto}
.production-event-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:11px}
.production-event-form label{display:grid;gap:4px}
.wide-field{grid-column:1/-1}
.modal-overlay{display:none;position:fixed;inset:0;z-index:1100;background:var(--ui-legacy-0f172a80);padding:20px;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{width:min(920px,100%);max-height:94vh;overflow:auto;background:var(--ui-surface);border-radius:12px;box-shadow:0 20px 50px var(--ui-legacy-0f172a50)}
.modal-head,.modal-foot{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ui-border-soft)}
.modal-foot{border-top:1px solid var(--ui-border-soft);border-bottom:0;justify-content:flex-end;flex-wrap:wrap}
.modal-body{padding:16px}
.modal-head h2{margin:0;font-size:20px}
.modal-head p{margin:4px 0 0;color:var(--ui-text-muted)}
.modal-foot .tip{margin-right:auto}
.modal-body label{display:grid;gap:4px;margin:7px 0}
.modal-body input,.modal-body select,.modal-body textarea{min-width:0;width:100%}

@media(max-width:760px){.production-shell{padding:10px!important}
.production-shell .panel{padding:11px}
.production-shell .production-top{max-height:none;flex-wrap:wrap}
.production-shell .production-top h1{white-space:normal;font-size:20px}
.production-shell .production-top>div{white-space:normal;flex-wrap:wrap}
.production-shell .production-workspace,.production-shell main,.production-shell .panel{max-width:100%;min-width:0}
.production-shell .overview-header>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
.production-shell .data-read-time{white-space:normal;flex-wrap:wrap;justify-content:flex-start}
.production-shell .backup-alert{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.production-shell .intake-toolbar label,.production-shell .kingdee-toolbar label{min-width:0;max-width:100%}
.production-shell input[type=file]{min-width:0;max-width:100%;width:100%}
.production-shell .tablet-card-search label{display:grid;gap:4px;max-width:100%;min-width:0}
.production-shell .tablet-card-search input{min-width:0;width:100%;max-width:100%;margin-left:0}
#panel-master #master-content,#panel-reconciliation #reconciliation-report{max-width:100%;overflow-x:auto}
.overview-header{align-items:flex-start;flex-direction:column}
#panel-purchase-intake .intake-layout{grid-template-columns:1fr}
.intake-layout aside{border-right:0;border-bottom:1px solid var(--ui-border-soft);padding:0 0 10px}
.requirement-editor-grid,.production-run-card{grid-template-columns:1fr}
.modal-overlay{padding:5px}
.modal{max-height:98vh}
}
/* Gate E2: incremental machine planning, with immutable historical production. */
.plan-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:12px;align-items:start}
.plan-pool,.plan-main{background:var(--ui-surface);border:1px solid var(--ui-border-subtle);border-radius:8px;padding:12px;min-width:0}
.plan-pool h2,.plan-main h2{font-size:15px;margin:0 0 10px}.plan-pool h2 b{float:right;color:var(--ui-legacy-946117)}
.plan-pool{max-height:78vh;overflow:auto}.plan-task-card{border-bottom:1px solid var(--ui-legacy-dae2ec);padding:8px 0;background:var(--ui-surface)}.plan-task-card:last-child{border-bottom:0}
.plan-card-head{display:flex;flex-direction:column;gap:2px}.plan-card-head small{font-weight:400;color:var(--ui-text-muted);font-size:11px}.plan-card-head b{font-size:13px}
.plan-spec{font-size:11px;color:var(--ui-legacy-607086);margin:5px 0}.plan-time-note{font-size:11px;color:var(--ui-text-subtle);margin:5px 0}
.plan-task-card button{margin:3px 4px 3px 0;padding:4px 7px;font-size:12px}.plan-task-card label{display:block;font-size:12px;margin:5px 0}.plan-task-card select{width:100%;padding:5px}
.plan-counts{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:12px;color:var(--ui-legacy-46556b);margin:8px 0}.plan-counts b{color:var(--ui-legacy-193b59)}.plan-empty{padding:12px 4px;color:var(--ui-legacy-68788c);font-size:13px;line-height:1.6}
.plan-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:8px}.plan-toolbar h2{margin-right:auto;margin-bottom:0}.plan-toolbar input,.plan-toolbar select{padding:5px}.plan-toolbar button{padding:5px 9px}.plan-ranges{display:flex;gap:3px;margin-left:auto}.plan-ranges .active{background:var(--ui-legacy-214e72);color:var(--ui-surface);border-color:var(--ui-legacy-214e72)}
.plan-gantt{overflow:auto;border:1px solid var(--ui-border-subtle);border-radius:5px;max-height:72vh}.plan-grid-head,.plan-grid-row{display:grid;grid-template-columns:104px minmax(0,1fr)}
.plan-grid-head{background:var(--ui-legacy-edf2f7);font-size:12px;font-weight:700;position:sticky;top:0;z-index:5}.plan-grid-head>strong,.plan-grid-row>strong{position:sticky;left:0;padding:9px 8px;background:var(--ui-legacy-f3f6fa);border-right:1px solid var(--ui-border-subtle);z-index:3}
.plan-grid-row>strong{font-size:14px;border-bottom:1px solid var(--ui-legacy-e1e7ef)}.plan-grid-row>strong small{display:block;font-size:11px;color:var(--ui-legacy-6a7a8c);font-weight:400;margin-top:3px}.plan-grid-dates{display:grid;grid-template-columns:var(--plan-day-columns)}.plan-grid-dates span{padding:5px;text-align:center;border-right:1px solid var(--ui-legacy-e1e7ef)}.plan-grid-dates small{display:block;font-size:10px;color:var(--ui-legacy-7a8ca0);font-weight:400}
.plan-machine-lane{position:relative;min-height:64px;border-bottom:1px solid var(--ui-legacy-e1e7ef)}.plan-day-grid{display:grid;grid-template-columns:var(--plan-day-columns);position:absolute;inset:0}.plan-day-cell{border-right:1px solid var(--ui-legacy-e1e7ef);background:var(--ui-surface)}.plan-day-cell:hover{background:var(--ui-legacy-eaf4ff)}.plan-today{background:var(--ui-legacy-edf7fb)!important}
.plan-duration-line{position:absolute;height:6px;min-width:2px;border:1px solid var(--ui-legacy-0002);border-radius:2px;background:var(--bar-bg);pointer-events:none;z-index:1}.plan-bar{position:absolute;display:flex;flex-direction:column;text-align:left;background:var(--bar-bg);color:var(--bar-fg);border:1px solid var(--ui-legacy-0002);border-radius:4px;padding:5px 6px;margin:0;height:45px;min-width:20px;overflow:hidden;cursor:grab;font-size:12px;z-index:1;box-shadow:inset -1px 0 var(--ui-legacy-ffffff50)}.plan-bar{touch-action:none;user-select:none;-webkit-user-select:none}.plan-bar-dragging{opacity:.55;cursor:grabbing}.plan-bar:hover{background:var(--bar-bg);color:var(--bar-fg);filter:brightness(1.06)}.plan-bar b,.plan-bar small{color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.plan-bar small{font-size:11px;opacity:.94;margin-top:3px}.plan-bar-history{cursor:pointer;box-shadow:inset 0 -4px var(--ui-legacy-ffffff65);background-image:repeating-linear-gradient(135deg,transparent,transparent 9px,var(--ui-legacy-ffffff13) 9px,var(--ui-legacy-ffffff13) 15px)}.plan-bar-conflict{outline:2px solid var(--ui-legacy-bd661a);outline-offset:-2px}.plan-bar-focused{box-shadow:inset 0 0 0 2px var(--ui-legacy-56ceff)}.plan-drop-before{border-left:6px solid var(--ui-legacy-f6ab26)}.plan-drop-after{border-right:6px solid var(--ui-legacy-f6ab26)}.plan-legend{font-size:11px;color:var(--ui-text-subtle);margin:0 0 5px}
#plan-editor{border:0;border-radius:10px;box-shadow:0 20px 70px var(--ui-legacy-17304755);max-width:580px;width:calc(100% - 30px);padding:22px}#plan-editor::backdrop{background:var(--ui-legacy-152c3f99)}#plan-editor h2{margin-top:0}#plan-editor label{display:block;margin:10px 0;font-size:13px}#plan-editor input,#plan-editor select{display:block;width:100%;padding:7px;margin-top:4px}#plan-editor .plan-unknown-confirm{background:var(--ui-legacy-fff8e7);padding:9px;line-height:1.5}#plan-editor .plan-unknown-confirm[hidden]{display:none}#plan-editor .plan-unknown-confirm input{display:inline;width:auto;margin:0 6px 0 0}.plan-editor-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;margin-top:14px}.plan-error{color:var(--ui-legacy-aa3725)}.plan-review-note{color:var(--ui-legacy-80531e);background:var(--ui-legacy-fff8e7);padding:6px;border-radius:4px;font-size:12px;margin:6px 0}
@media(max-width:900px){.plan-layout{grid-template-columns:1fr}.plan-pool{max-height:220px}.plan-main{overflow:hidden}}

/* Gate E1: read-only production task overview. */
.production-nav .nav-primary{font-weight:700;border-color:var(--ui-legacy-8eafca)}
.production-history{margin:20px 0;padding:18px;background:var(--ui-surface);border:2px solid var(--ui-legacy-93b5d1);border-radius:12px;scroll-margin-top:18px}
.production-shell #panel-production-records.history-view > :not(#production-history){display:none}
.plan-mobile-hint{display:none}
@media(max-width:760px){.plan-mobile-hint{display:block;padding:8px 10px;background:var(--ui-legacy-fff6df);border:1px solid var(--ui-legacy-e7c98d);border-radius:7px;color:var(--ui-legacy-654919)}}
.production-history[hidden]{display:none}
.production-history h3{margin:18px 0 8px;font-size:17px}
.production-history-table{overflow:auto;max-height:440px;border:1px solid var(--ui-legacy-dde5eb);border-radius:8px}
.production-history-table table{min-width:950px}
.production-history-table thead{position:sticky;top:0;background:var(--ui-legacy-eef4f8);z-index:1}
.production-history-table td{vertical-align:top}
.production-shell:has(#panel-production-overview.active) .production-top h1{font-size:24px;margin:0}
.production-shell:has(#panel-production-overview.active) #app-message:empty{display:none}
.production-shell #panel-production-overview{padding:12px;margin-top:0}
#panel-production-overview .overview-header{margin-bottom:10px}
.e1-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:12px;align-items:start}
.overview-open-events{margin:8px 0;padding:10px 12px;border:1px solid var(--ui-legacy-ecd8ab);background:var(--ui-legacy-fff9e9);border-radius:9px}
.overview-open-events h2{font-size:16px;margin:0 0 8px}
.overview-owner-warning{margin:0 0 8px;padding:8px 10px;border-left:4px solid var(--ui-danger);background:var(--ui-legacy-fff0ed);color:var(--ui-legacy-7d1e17);font-weight:700}
.overview-event-row{display:grid;grid-template-columns:110px minmax(150px,2fr) minmax(100px,1fr) minmax(150px,2fr) 125px auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--ui-legacy-eee1c4);font-size:13px}
.overview-event-row button{white-space:nowrap}
@media(max-width:1000px){.overview-event-row{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-event-row>*{min-width:0}}
.e1-sources,.e1-main{background:var(--ui-surface);border:1px solid var(--ui-border-subtle);border-radius:10px;min-width:0}
.e1-sources{padding:11px 0;max-height:82vh;overflow:auto}.e1-main{padding:13px}
.e1-sources h2{font-size:12px;margin:0 12px 8px;color:var(--ui-text-subtle);letter-spacing:.04em}.e1-delivery h2{font-size:17px;margin:0}
.e1-source-card{display:grid;gap:3px;width:100%;text-align:left;background:var(--ui-surface);border:0;border-bottom:1px solid var(--ui-legacy-e8edf3);border-left:3px solid transparent;padding:8px 11px;color:var(--ui-legacy-42566c);font-size:11px}
.e1-source-card:hover{background:var(--ui-legacy-f4f8fc)}.e1-source-card.active{border-left-color:var(--ui-legacy-2370aa);background:var(--ui-legacy-eaf4fb)}
.e1-source-card strong{font-size:13px;color:var(--ui-legacy-183a57);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e1-source-card b{float:right;color:var(--ui-legacy-28724c)}
.e1-source-date{font-size:10px;color:var(--ui-legacy-73849a)}.e1-source-all{position:sticky;bottom:0;background:var(--ui-legacy-f3f7fb);border-top:1px solid var(--ui-legacy-bdcfdf);font-weight:700}
.e1-source-progress,.e1-row-progress{display:block;height:4px;background:var(--ui-legacy-e4ebf2);border-radius:9px;overflow:hidden}
.e1-source-progress i,.e1-row-progress i{display:block;height:100%;background:var(--ui-legacy-2c9b69)}
.e1-delivery{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:7px}
.e1-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.e1-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--ui-legacy-d9e3ed);border-radius:5px;background:var(--ui-legacy-f7f9fc);color:var(--ui-legacy-43576c);padding:5px 8px;font-size:11px;line-height:1.2}
.e1-pill b{font-size:12px;color:var(--ui-legacy-173e5f)}.e1-pill.active{border-color:var(--ui-legacy-2670a6);background:var(--ui-legacy-e4f2fc);color:var(--ui-legacy-13507d)}
.e1-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:9px 0 5px;border-top:1px solid var(--ui-legacy-e7edf3)}
.e1-toolbar label{display:grid;gap:4px;flex:1;min-width:210px;font-size:11px;color:var(--ui-text-subtle)}.e1-toolbar input{padding:6px 8px;width:100%}
.e1-plan-action{display:flex;align-items:center;gap:7px}.e1-plan-action small{font-size:11px;color:var(--ui-legacy-9a5a18)}
.e1-result-count{font-size:11px;color:var(--ui-text-subtle);margin:4px 0 7px}.e1-table-wrap{max-height:69vh;overflow:auto;border:1px solid var(--ui-legacy-e1e8f0);border-radius:6px}
.e1-table{width:100%;min-width:1030px;border-collapse:separate;border-spacing:0;font-size:11px;line-height:1.2}
.e1-table th{position:sticky;top:0;z-index:2;background:var(--ui-legacy-eaf0f6);color:var(--ui-legacy-42566c);white-space:nowrap;box-shadow:0 1px var(--ui-legacy-c9d5e0)}
.e1-table th,.e1-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--ui-legacy-e7ecf2);vertical-align:middle}
.e1-table tbody tr{height:40px}
.e1-table td b{font-size:11px}.e1-table tbody tr:hover{background:var(--ui-legacy-edf6ff)}.e1-empty{text-align:center!important;color:var(--ui-text-muted);padding:24px!important}
.e1-product{min-width:135px;max-width:185px}.e1-product b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e1-product-link,.e1-source-link{padding:0;border:0;background:transparent;color:var(--ui-legacy-175a87);text-align:left;font:inherit;cursor:pointer}.e1-product-link{width:100%}.e1-product-link:hover b,.e1-source-link:hover{text-decoration:underline}
.e1-product-link small{display:block;color:var(--ui-legacy-526c81);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.e1-order-no{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.e1-spec{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.e1-num,.e1-days,.e1-date,.e1-actual-cell{white-space:nowrap;font-variant-numeric:tabular-nums}
.e1-actual-cell{min-width:103px}.e1-hard-progress{display:inline-block;font-size:9px;color:var(--ui-legacy-526c81);margin-left:5px;vertical-align:baseline}.e1-machine small{display:block;font-size:10px;color:var(--ui-legacy-63758a);margin-top:1px}.e1-process{min-width:105px;max-width:175px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.e1-process>b{margin-right:4px}.e1-machine{min-width:76px}.e1-purchase{min-width:100px}.e1-source-link{font-size:10px;overflow-wrap:anywhere}.e1-muted{color:var(--ui-legacy-7b8c9b)}
.e1-badges{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:17px}.e1-status-badge{display:inline-block;white-space:nowrap;margin:0 3px 0 0;padding:2px 5px;border-radius:4px;background:var(--ui-legacy-e8eff6);color:var(--ui-legacy-25445e);font-size:10px}
.e1-badge-review,.e1-badge-partially_scheduled{background:var(--ui-legacy-fff0d8);color:var(--ui-legacy-8c4b13)}.e1-badge-completed{background:var(--ui-legacy-e5f5eb);color:var(--ui-legacy-176b3a)}.e1-badge-in_progress{background:var(--ui-legacy-e2f0fb);color:var(--ui-legacy-205f8b)}
.e1-badge-overdue,.e1-row-overdue .e1-days{background:var(--ui-legacy-ffe8e5);color:var(--ui-legacy-a32c20)}.e1-badge-within_7_days,.e1-row-within_7_days .e1-days{background:var(--ui-legacy-fff0df);color:var(--ui-legacy-a25315)}
.e1-badge-within_14_days,.e1-row-within_14_days .e1-days{background:var(--ui-legacy-fff8db);color:var(--ui-legacy-7e6410)}
.e1-action button{padding:3px 6px;font-size:10px;white-space:nowrap}.e1-row-progress{height:3px;margin-top:3px}
/* 7b-1: keep the overview readable without making the whole page scroll sideways. */
.e1-table{font-size:14px;line-height:1.35}
.e1-table tbody tr{height:auto}
.e1-table th,.e1-table td{padding:6px}
.e1-table td b{font-size:14px}
.e1-table th:first-child{left:0;z-index:4;background:var(--ui-legacy-eaf0f6)}
.e1-table td.e1-product{position:sticky;left:0;z-index:1;background:var(--ui-surface);min-width:170px;max-width:215px;box-shadow:1px 0 var(--ui-border-subtle)}
.e1-table tbody tr:hover td.e1-product{background:var(--ui-legacy-edf6ff)}
.e1-product b,.e1-product-link small{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.e1-product-link small,.e1-hard-progress,.e1-machine small{font-size:13px}
.e1-process{white-space:normal;overflow:visible;min-width:145px;max-width:210px}
.e1-badges{height:auto;overflow:visible;white-space:normal}
.e1-status-badge{font-size:14px;margin:2px 3px 2px 0}
.e1-source-link,.e1-action button{font-size:14px}
.e1-order-no,.e1-purchase{overflow-wrap:anywhere;white-space:normal}
#panel-production-overview #e1-message{min-height:0;margin:3px 0 8px}
#e1-detail,#e1-source-detail{border:0;border-radius:12px;max-width:850px;width:calc(100% - 30px);padding:23px;box-shadow:0 20px 70px var(--ui-legacy-17304755)}
#e1-detail::backdrop,#e1-source-detail::backdrop{background:var(--ui-legacy-152c3f99)}#e1-detail h2,#e1-source-detail h2{margin-top:0}.e1-detail-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.e1-source-facts{display:grid;grid-template-columns:115px 1fr;gap:10px;font-size:13px}.e1-source-facts dt{color:var(--ui-legacy-617387)}.e1-source-facts dd{margin:0;overflow-wrap:anywhere}
.e1-detail-note{font-size:12px;color:var(--ui-text-muted)}.plan-focus-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;margin-bottom:12px;background:var(--ui-legacy-eaf4fb);border:1px solid var(--ui-legacy-9ac4e2);border-radius:8px;font-size:13px}
.plan-focus-banner[hidden]{display:none}.plan-focused{border-color:var(--ui-legacy-2670a6);box-shadow:inset 3px 0 var(--ui-legacy-2670a6)}.plan-bar-focused{outline:2px solid var(--ui-legacy-f6c75b);outline-offset:1px}
@media(max-width:900px){.e1-layout{grid-template-columns:1fr}.e1-sources{max-height:none}.e1-sources #e1-sources{display:flex;gap:6px;overflow-x:auto}.e1-source-card{min-width:215px;max-width:235px;border:1px solid var(--ui-legacy-e0e8f0);border-left:3px solid transparent}.e1-source-card.active{border-left-color:var(--ui-legacy-2370aa)}.e1-source-all{position:static}.plan-focus-banner{align-items:start;flex-direction:column}}

/* Gate E3: machine-based shift entry. */
.entry-toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:14px 0}.entry-toolbar label{display:flex;align-items:center;gap:7px;font-size:13px}.entry-toolbar input,.entry-toolbar select{padding:7px;border:1px solid var(--ui-border);border-radius:5px}.entry-toolbar [hidden]{display:none}.entry-table-wrap{overflow:auto;border:1px solid var(--ui-legacy-d8e1ea);border-radius:6px;background:var(--ui-surface)}.entry-table{border-collapse:collapse;width:100%;min-width:1100px;font-size:13px}.entry-table th{position:sticky;top:0;background:var(--ui-legacy-edf3f8);padding:9px;text-align:left;font-size:12px}.entry-table td{padding:8px;border-top:1px solid var(--ui-legacy-e1e7ee);vertical-align:top}.entry-table td>small,.entry-product>small,.entry-numbers small{display:block;font-size:11px;margin-top:4px}.entry-table input[type=number]{width:88px;padding:8px;border:1px solid var(--ui-legacy-c7d4e0);border-radius:5px;text-align:right;font-variant-numeric:tabular-nums}.entry-table input:disabled{background:var(--ui-legacy-eff4f7);color:var(--ui-legacy-49627a)}.entry-machine{font-weight:700;border:0;padding:2px;background:none;color:var(--ui-brand);white-space:nowrap}.entry-product{min-width:235px;max-width:300px}.entry-product>select{width:100%;padding:6px;border:1px solid var(--ui-legacy-c6d4df);border-radius:4px}.entry-numbers{min-width:95px;white-space:nowrap;font-variant-numeric:tabular-nums}.entry-staff{min-width:165px;max-width:235px}.entry-workers summary{cursor:pointer;color:var(--ui-legacy-2e5677);font-size:12px}.entry-workers>div{display:flex;flex-wrap:wrap;gap:6px 10px;max-height:170px;overflow:auto;margin-top:7px}.entry-workers label{display:flex;align-items:center;gap:4px;font-size:12px}.entry-result{min-width:200px;max-width:270px}.entry-result p{font-size:11px;line-height:1.5;margin:5px 0}.entry-result button{font-size:11px;padding:4px 6px;margin:3px 4px 0 0}.entry-check{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.entry-error{color:var(--ui-legacy-b43f27)}.entry-saved{color:var(--ui-success)}.entry-review{color:var(--ui-legacy-a96a20)}.entry-machine-confirm{padding:7px;background:var(--ui-legacy-fff7e4);font-size:11px;margin-top:5px}.entry-machine-confirm label{display:block}.entry-machine-confirm>input{max-width:100%;width:100%;margin-top:5px;padding:5px}.entry-exception-row[hidden]{display:none}.entry-exception-row>td{background:var(--ui-legacy-fffbf1);padding:10px 16px}.entry-exception-grid{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.entry-exception-grid label:not(.entry-check){display:flex;flex-direction:column;gap:4px;font-size:11px}.entry-exception-grid input:not([type=checkbox]),.entry-exception-grid select{padding:6px;border:1px solid var(--ui-legacy-d8cdae);border-radius:4px}.entry-exception-note{flex:1;min-width:180px}.entry-exception>small{display:block;margin:7px 0;font-size:11px}.entry-exception button{font-size:12px;padding:6px 8px}.entry-save-bar{position:sticky;bottom:0;background:var(--ui-legacy-f7fafdef);border:1px solid var(--ui-legacy-d8e1ea);display:flex;justify-content:space-between;align-items:center;padding:10px 14px;gap:16px;z-index:2}.entry-save-bar span{font-size:12px;color:var(--ui-legacy-536c81)}.entry-save-bar button{min-width:140px}.entry-open-events{background:var(--ui-legacy-fff8eb);border:1px solid var(--ui-legacy-eddfbd);padding:8px 12px;border-radius:5px;margin:8px 0;font-size:12px}.entry-open-events>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.entry-open-events button{padding:5px 8px;font-size:11px;text-align:left;max-width:330px}.entry-open-events small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.entry-advanced{margin-top:18px;border-top:1px solid var(--ui-legacy-d4dfe8);padding-top:10px}.entry-advanced>summary{cursor:pointer;font-size:13px;color:var(--ui-legacy-45627b);margin-bottom:12px}#entry-detail{border:0;border-radius:10px;padding:22px;max-width:550px;width:calc(100% - 30px);box-shadow:0 20px 70px var(--ui-legacy-17304755)}#entry-detail::backdrop{background:var(--ui-legacy-152c3f99)}#entry-detail dl{display:grid;grid-template-columns:135px 1fr;gap:10px;font-size:13px}#entry-detail dt{color:var(--ui-text-muted)}#entry-detail dd{margin:0}

/* Gate E: time geometry stays independent of label content. */
.plan-bar{min-width:0;padding:3px 0;border:0;border-radius:2px;box-sizing:border-box;height:45px;outline:1px solid var(--ui-legacy-0003)}
.plan-bar b,.plan-bar small{padding:0 3px;box-sizing:border-box}.plan-bar-focused{outline:2px solid var(--ui-legacy-e7a317)}
.plan-bar-overdue{outline:2px solid var(--ui-legacy-b53d32);outline-offset:1px}
.plan-grid-production-day .plan-grid-head{min-height:48px}.plan-day-header{position:relative;display:flex;min-height:48px;background:var(--ui-legacy-f7fafc)}.plan-shift-caption{box-sizing:border-box;padding:3px 8px;font-size:11px;color:var(--ui-legacy-375064);border-left:3px solid var(--ui-legacy-43586d)}.plan-shift-caption.night{flex:1;background:var(--ui-legacy-e7edf7);border-left:3px solid var(--ui-legacy-43586d)}.plan-hour-tick{position:absolute;bottom:2px;transform:translateX(-50%);font-size:10px;font-weight:400;color:var(--ui-text-subtle);white-space:nowrap}.plan-hour-tick:first-of-type{transform:none}.plan-hour-tick:last-of-type{transform:translateX(-100%)}.plan-hour-tick.plan-handover{font-weight:800;color:var(--ui-legacy-233e55)}
.plan-grid-production-day .plan-day-cell{box-sizing:border-box}.plan-grid-production-day .plan-shift-day{background:var(--ui-legacy-fbfdff);border-left:3px solid var(--ui-legacy-43586d)}.plan-grid-production-day .plan-shift-night{background:var(--ui-legacy-e9eef8);border-left:3px solid var(--ui-legacy-43586d);border-right:3px solid var(--ui-legacy-43586d)}.plan-grid-production-day .plan-day-cell:hover{background:var(--ui-legacy-dcebf8)}
.plan-time-line{position:absolute;inset:0 auto 0 0;width:1px;background:var(--ui-legacy-c8d4e2);pointer-events:none}.plan-time-line.plan-time-handover{width:3px;background:var(--ui-legacy-43586d)}
.plan-overdue-extension{position:absolute;z-index:1;height:45px;box-sizing:border-box;border:1px solid var(--ui-legacy-a72f29);background:repeating-linear-gradient(135deg,var(--ui-legacy-ffdfdb),var(--ui-legacy-ffdfdb) 5px,var(--ui-legacy-cc5149) 5px,var(--ui-legacy-cc5149) 9px);color:var(--ui-legacy-621b16);font-size:11px;font-weight:700;padding:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.plan-overdue-extension-bottom{top:auto;bottom:2px;height:13px;padding:0 3px;font-size:10px;line-height:12px;z-index:2}.plan-machine-group{display:inline-block!important;color:var(--ui-legacy-275e7e)!important}.plan-machine-alert{color:var(--ui-legacy-a84b22)!important}
#plan-closure{border:0;border-radius:10px;box-shadow:0 20px 70px var(--ui-legacy-17304755);max-width:610px;width:calc(100% - 30px);max-height:85vh;overflow:auto;padding:22px}
#plan-closure .plan-closure-alert:not(:empty){position:sticky;top:0;z-index:3;margin:0 0 12px;padding:12px;border:2px solid var(--ui-legacy-bd3328);border-radius:6px;background:var(--ui-legacy-fff0ed);color:var(--ui-legacy-8e211a);font-weight:700;box-shadow:0 3px 12px var(--ui-legacy-7d241f26)}
#plan-closure::backdrop{background:var(--ui-legacy-152c3f99)}#plan-closure h2{margin-top:0}#plan-closure label{display:block;margin:9px 0;font-size:13px}
#plan-closure input:not([type="checkbox"]),#plan-closure select{display:block;width:100%;padding:7px;margin-top:4px}
.plan-overdue-list{margin:8px 0;padding:8px;background:var(--ui-legacy-fff2ee);color:var(--ui-legacy-943528);border:1px solid var(--ui-legacy-e3aca4);border-radius:5px;font-size:12px}.plan-overdue-list[hidden]{display:none}.plan-overdue-list button{margin:2px 4px;padding:4px 7px}
.plan-pool-empty{grid-template-columns:minmax(0,1fr)}.plan-pool[hidden]{display:none}
#plan-drag-feedback{position:fixed;bottom:18px;left:260px;right:24px;pointer-events:none;z-index:50;padding:10px;background:var(--ui-legacy-fff3ce);border:1px solid var(--ui-legacy-d9a73f);font-weight:600}
#plan-drag-feedback.plan-drag-error{background:var(--ui-legacy-fff0ed);border-color:var(--ui-legacy-bd3328);color:var(--ui-legacy-8e211a)}
#plan-drag-feedback[hidden]{display:none}.plan-drop-before,.plan-drop-after{border:0;outline:3px solid var(--ui-legacy-f6ab26)}
.entry-toolbar{margin:6px 0;gap:8px}.entry-open-events{padding:5px 10px;margin:5px 0}.entry-open-events summary{cursor:pointer}.entry-open-events details>div{display:flex;gap:8px;flex-wrap:wrap}.entry-open-events article{max-width:350px}.entry-focused{outline:2px solid var(--ui-legacy-d6a541);outline-offset:-2px}
#panel-production-records>.overview-header .view-sub{display:none}.entry-table td{padding:6px 8px}.quality-empty,.quality-context{padding:12px;background:var(--ui-legacy-f1f6fa);border:1px solid var(--ui-legacy-d8e1ea)}
#product-scheduling-context{font-size:12px;padding:10px;background:var(--ui-legacy-f1f6fa)}#product-scheduling-context p{line-height:1.6}
.entry-good{min-width:100px}.entry-good>small,.entry-table td>small{display:block;font-size:11px;color:var(--ui-legacy-607286);margin-top:4px}.entry-mode{border:0;background:none;color:var(--ui-legacy-17628d);padding:3px 0;font-size:11px;cursor:pointer}.entry-box-input{display:grid;grid-template-columns:56px auto 56px;align-items:center;gap:3px;white-space:nowrap}.entry-box-input input[type=number]{width:56px;padding:6px}.entry-box-input>small{grid-column:1/-1;color:var(--ui-legacy-476980);font-size:11px}
/* 7b-1: readable one-machine-per-row entry; overflow stays inside this table. */
.entry-table{font-size:14px}
.entry-table th{font-size:14px}
.entry-table td>small,.entry-product>small,.entry-numbers small,.entry-good>small,.entry-box-input>small{font-size:13px}
.entry-table input:not([type=checkbox]),.entry-table select{font-size:16px}
.entry-workers summary,.entry-workers label,.entry-result p,.entry-result button,.entry-check,.entry-mode,.entry-exception button{font-size:14px}
.entry-machine-confirm,.entry-exception>small{font-size:13px}
.entry-exception-grid label:not(.entry-check){font-size:14px}
.entry-box-input{grid-template-columns:72px auto 72px}
.entry-box-input input[type=number]{width:72px}
.kingdee-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}.kingdee-toolbar label{display:grid;gap:4px}.kingdee-toolbar input,.kingdee-toolbar select{padding:7px}.kingdee-warning{color:var(--ui-legacy-a43d24);font-weight:600}.kingdee-table-wrap{max-height:58vh;overflow:auto}.kingdee-table thead{position:sticky;top:0;background:var(--ui-canvas);z-index:1}.kingdee-table td{vertical-align:top}.kingdee-table details{max-width:480px}.kingdee-table details div{padding:3px 0}.kingdee-confirm-check{display:block;margin:18px 0;font-weight:600}.kingdee-confirm-check input{margin-right:8px}
#kingdee-history{max-width:min(96vw,1080px);max-height:85vh;overflow:auto;border:0;border-radius:12px;padding:20px}#kingdee-history details{margin:12px 0;border:1px solid var(--ui-legacy-ddd);border-radius:8px;padding:10px}
#stock-count-table small{display:block;color:var(--ui-text-muted);font-size:.82em;margin-top:3px}#stock-count-table tr[hidden]{display:none}#stock-count-table .plan-error{color:var(--ui-danger)}#stock-count-section{margin-top:20px}#stock-count-section summary{cursor:pointer;font-weight:700;font-size:1.1rem}

/* 7b-2: text hierarchy outside the Gantt, print sheet and tablet views. */
.production-shell .tablet-card-layout aside small,.production-shell .tablet-card-field small,
.intake-layout aside button span,.production-run-card-meta em,.production-run-context em,
.production-run-plan-actual em,.e1-detail-note,#e1-detail .plan-review-note,
.entry-save-bar span,#product-scheduling-context,#stock-count-table small{font-size:13px}
.event-action-presets button{font-size:14px}
.overview-event-row{font-size:16px}
.e1-sources h2{font-size:14px}
.e1-source-card{font-size:13px}
.e1-source-card strong{font-size:16px}
.e1-source-date{font-size:13px}
.e1-pill,.e1-pill b{font-size:14px}
.e1-toolbar label{font-size:16px}
.e1-plan-action small,.e1-result-count{font-size:13px}
.entry-toolbar label,.entry-advanced>summary,#entry-detail dl{font-size:16px}
.entry-open-events{font-size:13px}
.entry-open-events button{font-size:14px}

/* Quantity reconciliation stays within the content area at desktop widths. */
#panel-reconciliation{min-width:0}
#panel-reconciliation .kingdee-toolbar{flex-wrap:wrap;gap:10px}
#panel-reconciliation .reconciliation-table{font-size:14px}
#panel-reconciliation .reconciliation-table th{position:sticky;top:0;background:var(--ui-legacy-f1f5f9);z-index:1}
#panel-reconciliation .reconciliation-table td{vertical-align:top;overflow-wrap:anywhere}
#panel-reconciliation textarea{width:100%;min-height:64px}
#reconciliation-config .simple-form{max-width:900px}
#reconciliation-alias-dialog{max-width:600px;width:calc(100% - 40px)}

/* Keep large overdue queues usable without moving the Gantt below the first screen. */
.plan-overdue-list summary{cursor:pointer;font-weight:600}.plan-overdue-items{max-height:220px;overflow:auto;padding-top:6px}
/* Dense task tables scroll inside their panel; keep the action visible at narrow desktop widths. */
.e1-table th:last-child,.e1-table td:last-child{position:sticky;right:0;background:var(--ui-surface);box-shadow:-1px 0 var(--ui-border-subtle);z-index:1}
.e1-table th:last-child{background:var(--ui-legacy-eaf0f6);z-index:3}.e1-table tbody tr:hover td:last-child{background:var(--ui-legacy-edf6ff)}

/* Reconciliation informational notices stay neutral and collapsed by default. */
#panel-reconciliation .reconciliation-notices,
#panel-reconciliation .reconciliation-replace-note{color:inherit;font-weight:normal;margin:6px 0}
#panel-reconciliation .reconciliation-notices summary{cursor:pointer;padding:4px 0}
#panel-reconciliation .reconciliation-notices ul{margin:6px 0;padding-left:24px}

/* The home reads one server snapshot and keeps wide order data inside its own panel. */
#panel-home{min-width:0;padding:10px 12px}
#panel-home .overview-header{margin-bottom:7px}
.home-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:5px 0 9px}
.home-view-tabs{display:flex;gap:4px}
.home-view-tabs button{min-width:84px}
.home-view-tabs button.active{background:var(--ui-brand);color:var(--ui-surface);border-color:var(--ui-brand)}
.home-toolbar label{display:flex;align-items:center;gap:6px;font-size:14px}
.home-toolbar input{width:62px;padding:5px 7px}
#home-reconciliation-range{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#home-reconciliation-range input{width:125px;max-width:100%}
#requirement-home-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0;padding:8px 10px;background:var(--ui-legacy-eaf3fb);border-radius:7px}
#requirement-home-filter button[aria-current="true"]{background:var(--ui-brand);color:var(--ui-surface)}
#home-message:empty{display:none}
.home-blocks{display:grid;gap:9px;min-width:0}
.home-block{min-width:0;background:var(--ui-surface);border:1px solid var(--ui-legacy-d8e1eb);border-radius:10px;padding:8px 10px}
.home-block>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.home-block h2{font-size:18px;margin:0}
.home-order-buttons{display:flex;gap:3px}.home-order-buttons button{padding:2px 7px;font-size:13px}
.home-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.home-metric{min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px;padding:6px 9px;background:var(--ui-legacy-f5f9fc)}
.home-metric span,.home-metric small{font-size:13px}.home-metric b{font-size:22px;color:var(--ui-legacy-183d5d)}
.home-metric.warn{background:var(--ui-legacy-fff7e5);border-color:var(--ui-legacy-d59b26)}.home-metric.danger{background:var(--ui-legacy-fff0ec);border-color:var(--ui-legacy-c84a34)}
.home-metric:hover,.home-machine:hover{background:var(--ui-legacy-eaf3fb)}
.home-pending-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding:7px;background:var(--ui-legacy-f3f7fa);border-radius:7px}
.home-pending-list>b{margin-right:6px}.home-pending-list button{font-size:13px;padding:5px 8px}
.home-filter-note{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:7px 9px;background:var(--ui-legacy-eaf3fb);border-radius:7px}
.home-empty,.home-restricted{margin:5px 0;padding:8px 10px;background:var(--ui-legacy-f3f7fa);border-radius:7px;color:var(--ui-label)}
.home-orders-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}
.home-orders-tools label{display:flex;align-items:center;gap:6px}.home-orders-tools input{width:min(260px,55vw);padding:5px 7px}
.home-orders-scroll{max-height:calc(100vh - 385px);min-height:185px;overflow:auto}
.home-orders{border-collapse:collapse;width:100%;font-size:14px}
.home-orders th,.home-orders td{padding:5px 7px;border-bottom:1px solid var(--ui-legacy-e1e7ef);text-align:left;line-height:1.25}
.home-orders th{position:sticky;top:0;background:var(--ui-legacy-eaf0f6);z-index:1;white-space:nowrap}
.home-orders tbody tr{cursor:pointer}.home-orders tbody tr:hover,.home-orders tbody tr:focus{background:var(--ui-legacy-edf6ff);outline:2px solid var(--ui-legacy-27679b);outline-offset:-2px}
.home-orders td:nth-child(2){min-width:180px}.home-orders td:nth-child(2) span{display:block;color:var(--ui-label)}
@media(min-width:601px){.home-orders td:nth-child(2){white-space:nowrap}.home-orders td:nth-child(2) span{display:inline;margin-left:8px}}
.home-orders tr.overdue{background:var(--ui-legacy-fff0ec)}.home-orders tr.soon{background:var(--ui-legacy-fff8e9)}
.home-overdue{color:var(--ui-legacy-a92d19)}.home-soon{color:var(--ui-legacy-885d00)}
.home-machines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.home-machine{min-width:0;display:flex;flex-direction:column;text-align:left;gap:2px;padding:7px 9px;background:var(--ui-legacy-f6f9fc)}
.home-machine b,.home-machine span,.home-machine small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-machine b{font-size:15px}.home-machine small{font-size:var(--ui-font-help)}.home-machine.fault{border-color:var(--ui-legacy-c84a34);background:var(--ui-legacy-fff0ec)}
.home-shifts{display:flex;gap:8px;flex-wrap:wrap}.home-shift{display:flex;align-items:center;gap:6px}.home-shift h3{margin:0 6px 0 0;font-size:16px}.home-shift .home-metric{min-width:95px}
@media(max-width:900px){.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.home-machines{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  #panel-home{padding:8px;max-width:100%}.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-machines{grid-template-columns:repeat(2,minmax(0,1fr))}.home-orders-scroll{max-height:none;min-height:0;overflow:visible}
  .home-orders,.home-orders tbody,.home-orders tr,.home-orders td{display:block;width:100%}.home-orders thead{display:none}
  .home-orders tr{margin:0 0 8px;border:1px solid var(--ui-legacy-d8e1eb);border-radius:8px;padding:5px}
  .home-orders td{border:0;display:flex;gap:7px;justify-content:space-between;overflow-wrap:anywhere}
  .home-orders td::before{content:attr(data-label);flex:0 0 78px;color:var(--ui-legacy-61758b)}
  .home-orders td:nth-child(2){min-width:0}.home-orders-tools{align-items:flex-start;flex-direction:column}
  .home-shift{flex-wrap:wrap}.home-shift h3{width:100%}
}

/* Batch 1006 shared presentation components. Gantt typography keeps its existing rules. */
:root{font-size:var(--ui-font-body);color:var(--ui-text);background:var(--ui-canvas)}
body{font-size:var(--ui-font-body);color:var(--ui-text);background:var(--ui-canvas)}
.production-shell .panel{border-color:var(--ui-border-soft);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-panel);padding:var(--ui-space-3)}
.production-shell .production-workspace{gap:var(--ui-space-2)}
.production-shell .production-top{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-2);min-height:40px;max-height:none;padding:0 var(--ui-space-1)}
.production-shell .production-top .top-context{display:flex;align-items:baseline;gap:var(--ui-space-2);min-width:0;flex-wrap:wrap}
.production-shell .production-top h1{font-size:var(--ui-font-help);font-weight:700;color:var(--ui-text-subtle);line-height:1.2}
#top-page-title{font-size:20px;line-height:1.2;color:var(--ui-text-strong);white-space:nowrap}
#top-read-time{font-size:var(--ui-font-help);color:var(--ui-text-subtle);line-height:1.3;overflow-wrap:anywhere}
#top-read-time.stale{color:var(--ui-danger-text);font-weight:700}
.production-shell .production-top .top-actions{display:flex;align-items:center;gap:var(--ui-space-2);flex:none}
#user-label{font-size:var(--ui-font-help);color:var(--ui-text-subtle)}
#header-reminders{position:relative;z-index:50}
#header-reminders summary{list-style:none;display:flex;align-items:center;gap:var(--ui-space-1);padding:6px 10px;border:1px solid var(--ui-warning-border);border-radius:var(--ui-radius-md);background:var(--ui-warning-surface);color:var(--ui-warning-text);font-size:var(--ui-font-help);font-weight:700;cursor:pointer;white-space:nowrap}
#header-reminders summary::-webkit-details-marker{display:none}
#header-reminder-count{display:inline-grid;place-items:center;min-width:20px;padding:1px 5px;border-radius:999px;background:var(--ui-warning-text);color:var(--ui-surface)}
.header-reminder-popover{position:absolute;right:0;top:calc(100% + var(--ui-space-1));width:min(380px,calc(100vw - 24px));padding:var(--ui-space-2);border:1px solid var(--ui-warning-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);box-shadow:var(--ui-shadow-modal);white-space:normal}
.header-reminder-popover .backup-alert{margin:0 0 var(--ui-space-1);white-space:normal;overflow:visible;text-overflow:clip;font-size:var(--ui-font-help);line-height:1.45}
.header-reminder-popover .backup-alert:last-child{margin-bottom:0}
.overview-header{margin-bottom:var(--ui-space-1)}
.production-shell .data-read-time{gap:var(--ui-space-2);font-size:var(--ui-font-help)}
.production-shell .data-read-time.stale{flex-basis:100%;justify-content:flex-start;padding:var(--ui-space-2);border-color:var(--ui-danger-border);background:var(--ui-danger-surface);color:var(--ui-danger-text)}
button,input,select,textarea{border-radius:var(--ui-radius-md)}
button{border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-text-strong)}
button:hover:not(:disabled){background:var(--ui-brand-soft);border-color:var(--ui-brand)}
.production-shell .home-view-tabs button.active:is(:hover,:focus-visible),
.production-shell .settings-tabs button[aria-selected="true"]:is(:hover,:focus-visible),
.production-shell .plan-ranges button.active:is(:hover,:focus-visible),
.production-shell .production-nav button.active:is(:hover,:focus-visible),
.production-shell button[aria-current="true"]:is(:hover,:focus-visible),
.production-shell button[aria-selected="true"]:is(:hover,:focus-visible),
.production-shell button[aria-pressed="true"]:is(:hover,:focus-visible){background:var(--ui-brand-hover);border-color:var(--ui-brand-hover);color:var(--ui-surface)}
button.primary,.primary{background:var(--ui-brand);border-color:var(--ui-brand);color:var(--ui-surface)}
button.primary:hover:not(:disabled),.primary:hover{background:var(--ui-brand-hover);color:var(--ui-surface)}
button.danger,.danger-button{background:var(--ui-danger-surface);border-color:var(--ui-danger-border);color:var(--ui-danger-text)}
button.text-button,.text-button{border-color:transparent;background:transparent;color:var(--ui-brand)}
button:disabled,input:disabled,select:disabled,textarea:disabled{color:var(--ui-disabled-text);background:var(--ui-disabled-surface);opacity:1}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--ui-focus-halo)}
:where(button,a,summary,[role="link"]):hover{transition:background-color .12s ease,border-color .12s ease,color .12s ease}
a:hover,[role="link"]:hover{color:var(--ui-brand-hover);text-decoration:underline}
.production-shell table{font-size:var(--ui-font-table)}
.production-shell table th,.production-shell table td{font-size:var(--ui-font-table)}
.production-shell table thead th{position:sticky;top:0;z-index:1;background:var(--ui-surface-alt);color:var(--ui-text-strong);border-bottom:1px solid var(--ui-border)}
.production-shell table tbody td{border-bottom:1px solid var(--ui-border-soft)}
.production-shell table tbody tr:hover{background:var(--ui-brand-soft)}
.production-shell table small,.production-shell .inline-tip,.production-shell .tip,.production-shell .view-sub{font-size:var(--ui-font-help);color:var(--ui-text-subtle)}
.production-shell #plan-pool .plan-card-head small,.production-shell #plan-pool .plan-spec,
.production-shell #plan-pool .plan-review-note,.production-shell #plan-pool .plan-task-card button,
.production-shell #plan-pool .plan-task-card label,.production-shell #plan-pool .plan-counts,
.production-shell #plan-overdue-list,.production-shell #plan-overdue-list button{font-size:var(--ui-font-help)}
.production-shell .status:not(:empty),.production-shell .home-filter-note{display:block;padding:var(--ui-space-2);border:1px solid var(--ui-border-subtle);border-radius:var(--ui-radius-md);background:var(--ui-surface-alt);color:var(--ui-text-strong)}
.ui-error-details{margin-top:var(--ui-space-1);font-size:var(--ui-font-help)}
.ui-error-details summary{width:max-content;color:var(--ui-brand);font-weight:700;text-decoration:underline}
.ui-error-details code{display:block;max-width:100%;margin-top:var(--ui-space-1);padding:var(--ui-space-1);overflow-wrap:anywhere;white-space:normal;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface-alt);color:var(--ui-text-strong)}
.production-shell [role="alert"]:not(:empty),.production-shell .plan-error,.production-shell .entry-error{color:var(--ui-danger-text)}
.production-shell .home-empty,.production-shell .plan-empty,.production-shell .e1-empty,.production-shell .empty-state{padding:var(--ui-space-4);border:1px dashed var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface-alt);color:var(--ui-text-subtle)}
.production-shell details:not(#header-reminders){border-radius:var(--ui-radius-md)}
.production-shell summary{cursor:pointer}
.production-shell dialog{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-modal);background:var(--ui-surface);color:var(--ui-text)}
.production-shell .e1-status-badge{border-radius:var(--ui-radius-sm)}
.production-shell .e1-source-date,.production-shell .plan-grid-row>strong small,.production-shell .home-metric small,.production-shell .home-orders-tools small{color:var(--ui-text-strong)}
@media(max-width:760px){.production-shell .production-top{align-items:flex-start;flex-wrap:wrap;gap:var(--ui-space-1)}.production-shell .production-top .top-context{gap:var(--ui-space-1)}.production-shell .production-top .top-actions{width:100%;justify-content:flex-end}.production-shell .panel{padding:var(--ui-space-2)}#top-page-title{font-size:18px}#top-read-time{flex-basis:100%}}
/* Procurement facts and mapping remain usable inside the existing pages. */
#material-inbound-read {min-width:0;max-width:100%}
#kingdee-documents > details {margin:12px 0}
#kingdee-documents p,#kingdee-missing p,#material-inbound-documents p {overflow-wrap:anywhere}
#product-main-material-editor {width:min(760px,calc(100vw - 32px));box-sizing:border-box}
#product-main-material-editor .simple-form {display:grid;gap:12px;min-width:0}
#product-main-material-editor label {display:grid;gap:4px;min-width:0}
#product-main-material-editor input,#product-main-material-editor select {max-width:100%;min-width:0;box-sizing:border-box}
#product-main-material-editor p,#product-main-material-editor details {overflow-wrap:anywhere}
#panel-kingdee-import [hidden] {display:none!important}

#material-inbound-read table,#kingdee-documents > details table,#kingdee-history .kingdee-table-wrap table {min-width:760px}
#material-inbound-read th,#material-inbound-read td,#kingdee-documents > details th,#kingdee-documents > details td {white-space:nowrap}

.inbound-table input[type="number"]{width:88px}
.inbound-table input[data-inbound-deliverer]{width:130px}
.inbound-table input[data-inbound-reason]{width:160px}
.inbound-table td small{display:block;color:var(--ui-text-subtle)}
.inbound-print{display:none}
@media print{
  body.printing-material-issue .production-shell{display:block!important;width:100%;max-width:100%;padding:0!important}
  body.printing-material-issue .production-workspace,body.printing-material-issue .production-shell main{display:block;width:100%;max-width:100%}
  body.ruiwei-desktop.printing-inbounds #panel-material-pick.panel{display:none!important}
  body.ruiwei-desktop.printing-inbounds #panel-production-inbounds.panel{display:block!important;border:0;padding:0}
  body.ruiwei-desktop.printing-inbounds #panel-production-inbounds .inbound-screen{display:none!important}
  body.ruiwei-desktop.printing-inbounds #panel-production-inbounds .inbound-print{display:block!important}
  body.ruiwei-desktop.printing-inbounds #panel-production-inbounds table{width:100%;font-size:11px}
  body.ruiwei-desktop.printing-inbounds #panel-production-inbounds :is(th,td){padding:3px 5px}
  body.ruiwei-desktop.printing-inbounds .inbound-print-slip{break-after:page;page-break-after:always}
  body.ruiwei-desktop.printing-inbounds .inbound-print-slip:last-child{break-after:auto;page-break-after:auto}
}

/* 奇磨货款 */
#panel-payment .payment-tabs{display:flex;gap:var(--ui-space-2);margin:var(--ui-space-2) 0 var(--ui-space-3);flex-wrap:wrap}
#panel-payment .payment-tabs button.active{background:var(--ui-brand);border-color:var(--ui-brand);color:#fff}
#panel-payment .payment-totals{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(0,1fr));gap:var(--ui-space-3);margin:var(--ui-space-3) 0}
#panel-payment .payment-totals>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--ui-space-3);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface)}
#panel-payment .payment-totals span,#panel-payment .payment-totals small{font-size:var(--ui-font-help);color:var(--ui-text-muted)}
#panel-payment .payment-totals b{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#panel-payment .payment-total-main b{font-size:28px;color:var(--ui-brand-deep)}
#panel-payment .payment-warn,#panel-payment .payment-totals small.payment-warn{color:var(--ui-warning-text);font-weight:600}
#panel-payment .payment-source,#panel-payment .payment-note{margin:var(--ui-space-2) 0;font-size:var(--ui-font-table);color:var(--ui-text-subtle)}
#panel-payment .payment-note{padding:var(--ui-space-2);border:1px solid var(--ui-warning-border);border-radius:var(--ui-radius-sm);color:var(--ui-warning-text)}
#panel-payment .payment-table td small{display:block;color:var(--ui-text-muted);font-size:var(--ui-font-help)}
#panel-payment .payment-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#panel-payment tr.payment-missing td{background:#fff7e6}
#panel-payment .payment-actions{white-space:nowrap}
#panel-payment .payment-actions button{padding:4px 8px;font-size:var(--ui-font-help);margin-right:4px}
#panel-payment .payment-import{margin:var(--ui-space-3) 0}
#panel-payment .payment-import select{min-width:0;max-width:100%}
#panel-payment .payment-import fieldset{min-width:0;max-width:100%;box-sizing:border-box;margin:12px 0}
#panel-payment .payment-import legend{max-width:100%;overflow-wrap:anywhere}
#payment-dialog{max-width:520px;width:calc(100% - 40px)}
#payment-dialog .payment-dialog-foot{display:flex;justify-content:flex-end;gap:var(--ui-space-2);margin-top:var(--ui-space-3)}
@media (max-width:720px){#panel-payment .payment-totals{grid-template-columns:1fr 1fr}#panel-payment .payment-total-main{grid-column:1 / -1}}
#payment-message:empty{display:none}

/* 包胶计件：一页完成实际记录和价目表，窄屏不让整页横向滚动。 */
#panel-piecework{min-width:0}
#panel-piecework .piecework-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0}
#panel-piecework .piecework-toolbar span{color:var(--ui-text-muted);font-size:14px}
#panel-piecework .piecework-counts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}
#panel-piecework .piecework-counts>*{border:1px solid var(--ui-border);border-radius:8px;padding:10px;background:var(--ui-surface)}
#panel-piecework .piecework-counts strong{font-size:20px;color:var(--ui-brand-deep)}
#panel-piecework .piecework-table-wrap{max-width:100%;overflow-x:auto}
#panel-piecework .simple-table{min-width:620px}
#panel-piecework .piecework-frozen-lines{min-width:1040px}
#panel-piecework .piecework-frozen-lines td:first-child{white-space:nowrap}
#panel-piecework .simple-table td{overflow-wrap:anywhere;vertical-align:top}
#panel-piecework .simple-table td small{display:block;color:var(--ui-warning-text)}
#panel-piecework details{margin:12px 0;padding:10px;border:1px solid var(--ui-border);border-radius:8px}
#panel-piecework details summary{cursor:pointer;font-weight:600}
#panel-piecework .piecework-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:10px}
#panel-piecework .piecework-actions>*{min-width:0}
#panel-piecework .simple-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
#panel-piecework dialog{width:min(560px,calc(100vw - 24px));box-sizing:border-box}
#panel-piecework dialog .simple-form>*{min-width:0;overflow-wrap:anywhere}
#panel-piecework input,#panel-piecework select{max-width:100%;box-sizing:border-box}
@media(max-width:720px){#panel-piecework .piecework-actions{display:block}#panel-piecework .piecework-counts strong{width:100%}}
/* 领料单与用料差异 */
#panel-material-issues,#panel-material-issue-differences{min-width:0}
.mi-toolbar,.mi-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0}
.mi-toolbar label,.mi-form label{display:grid;gap:4px;min-width:0}
.mi-toolbar input,.mi-toolbar select,.mi-form input,.mi-form select{max-width:100%;min-width:0;box-sizing:border-box}
.mi-form{padding:12px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface)}
.mi-form label{flex:1 1 145px}
.mi-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.mi-table{min-width:690px}
.mi-table td small{display:block;color:var(--ui-text-muted)}
.mi-table td details{max-width:280px;overflow-wrap:anywhere}
.mi-table th small{display:block;font-weight:400;color:var(--ui-text-muted)}
.mi-table .mi-unknown{color:var(--ui-text-muted)}
.mi-table .mi-proposal{color:var(--ui-accent,#1d5fbf)}
.mi-table .mi-formula{max-width:220px;overflow-wrap:anywhere}
.mi-line-hint{padding:8px 10px;border-left:3px solid var(--ui-accent,#1d5fbf);background:var(--ui-surface);font-weight:600}
.mi-line-hint:empty{display:none}
.mi-remnant-history{margin:6px 0;padding-left:18px}
.mi-product-summary{display:block;overflow-wrap:anywhere}
.mi-print-head{margin:12px 0}
#mi-threshold{margin-top:16px;padding:12px;border:1px solid var(--ui-border);border-radius:8px}
#mi-threshold form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
@media(max-width:500px){
  .mi-toolbar label,.mi-toolbar button{flex:1 1 140px}
  .mi-form label,.mi-form button{flex:1 1 100%}
}
@media print{
  body.printing-material-issue .production-nav,body.printing-material-issue .production-top,
  body.printing-material-issue #app-message,body.printing-material-issue .mi-toolbar,
  body.printing-material-issue .mi-no-print,body.printing-material-issue #material-issue-message,
  body.printing-material-issue #panel-material-issues [data-mi-void]{display:none!important}
  body.printing-material-issue .production-shell .panel{display:none!important}
  body.printing-material-issue .production-shell #panel-material-issues.panel{display:block!important;border:0;box-shadow:none;padding:0}
  body.printing-material-issue .mi-table-wrap{overflow:visible}
  body.printing-material-issue .mi-table{min-width:0;width:100%;table-layout:fixed;font-size:11px;overflow-wrap:anywhere}
  body.printing-material-issue .mi-table th,body.printing-material-issue .mi-table td{padding:3px 5px}
  body.printing-material-issue .mi-table tr{break-inside:avoid}
  body.printing-material-issue .mi-table thead{display:table-header-group}
}

/* Machine queues keep the machine identity visible without shrinking product names. */
.plan-view-switch{display:flex;gap:6px}.plan-queue{min-width:0}.queue-machine{display:grid;grid-template-columns:128px minmax(0,1fr);border:1px solid #cbd5e1;border-radius:12px;margin:12px 0;overflow:hidden;background:#fff}.queue-machine>header{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f1f5f9;border-right:1px solid #cbd5e1}.queue-items{display:flex;gap:10px;padding:12px;overflow-x:auto;min-width:0}.queue-item{flex:0 0 230px;padding:12px;border:1px solid #dbe3ee;border-radius:9px;background:#fbfdff}.queue-item-head{display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.queue-item p{margin:7px 0}.queue-item small{display:block;font-size:12px;line-height:1.5;color:#64748b}.queue-item em{font-size:12px;color:#155e75;font-style:normal}.queue-locked{background:#f8fafc}.queue-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.queue-actions button,.queue-actions select{min-height:36px;padding:5px 8px;max-width:100%}.queue-upstream{font-size:12px;background:#fff7ed;padding:6px}.queue-empty{color:#64748b}.plan-label-list{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.plan-label-list button{white-space:normal;text-align:left}.home-plan-handover{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:15px;border:1px solid #bae6fd;background:#f0f9ff;border-radius:10px;margin:12px 0}.handover-change{padding:12px;border-bottom:1px solid #cbd5e1}.handover-change p{overflow-wrap:anywhere}.plan-queue[hidden],.plan-gantt[hidden]{display:none}
@media(max-width:700px){.queue-machine{grid-template-columns:1fr}.queue-machine>header{flex-direction:row;flex-wrap:wrap;padding:10px;border-right:0;border-bottom:1px solid #cbd5e1}.queue-items{flex-direction:column;overflow-x:visible}.queue-item{flex:auto;width:auto}.queue-actions button{min-height:42px}.plan-layout{display:flex;flex-direction:column}.plan-pool{max-height:320px;overflow-y:auto;width:100%;min-width:0}.plan-main{width:100%;min-width:0}.plan-toolbar{flex-wrap:wrap}.home-plan-handover{align-items:flex-start}#plan-handover-detail,#plan-queue-add{max-width:calc(100vw - 24px);width:100%;box-sizing:border-box}}

.plan-task-card[draggable="true"],.queue-item[draggable="true"]{cursor:grab;user-select:none;-webkit-user-select:none}

/* Full queue names and 16px body copy; each machine queue flows vertically. */
.queue-items{flex-direction:column;align-items:stretch;overflow:visible;padding:8px;gap:8px}
.queue-item,.queue-item:has(em:not(:empty)){box-sizing:border-box;flex:0 0 auto;width:100%;min-width:0;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:4px;font-size:16px;line-height:24px}
.queue-item-head,.queue-item-head:has(em:not(:empty)){grid-column:1/-1;display:block;padding:0;line-height:24px;overflow-wrap:anywhere}
.queue-item-head b{font-size:16px;white-space:normal;overflow:visible;text-overflow:clip}
.queue-item-head em{display:inline;font-size:16px;line-height:24px;margin-left:8px;white-space:normal;max-width:none}
.queue-item p.queue-item-summary{grid-column:1;grid-row:2;margin:0;font-size:16px;line-height:24px;white-space:normal;overflow-wrap:anywhere}
.queue-actions{grid-column:2;grid-row:2;position:static;align-self:center;margin:0;gap:4px;flex-wrap:nowrap}
.queue-actions button{min-height:32px;padding:2px 6px;font-size:16px;line-height:24px}
.queue-adjust-controls{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;min-width:0;margin-top:4px}
.queue-adjust-controls button,.queue-adjust-controls select{min-height:36px;padding:5px 8px;max-width:100%}
.queue-item p.queue-upstream{grid-column:1/-1;margin:0;padding:3px 5px;line-height:20px;overflow-wrap:anywhere}

.process-card-bridge{min-width:0;max-width:100%;overflow-wrap:anywhere;margin-bottom:24px}.process-card-bridge details{padding:10px;border:1px solid var(--ui-border);border-radius:8px;margin:8px 0}.process-card-bridge form>label{display:block;margin:8px 0}.process-card-bridge input:not([type=checkbox]),.process-card-bridge select{box-sizing:border-box;max-width:100%;width:100%;padding:8px}.bridge-member{display:flex;gap:8px;align-items:flex-start;margin:10px 0}.bridge-member input{flex:none;margin-top:4px}.bridge-member span{min-width:0}.bridge-member small{display:block}.bridge-change{border-bottom:1px solid var(--ui-border);padding:10px 0}.bridge-change select{display:block;min-height:44px}.bridge-pending-row{margin:8px 0}.process-card-bridge button{min-height:44px;max-width:100%;white-space:normal}.process-card-bridge summary{cursor:pointer}

/* Quantity-only raw/reclaim stock and five-field A4 label. */
.ms-negative { color:#b42318; font-weight:600; }
#material-stock-label dt { font-size:14pt; margin-top:12pt; }
#material-stock-label dd { font-size:20pt; margin:4pt 0; overflow-wrap:anywhere; }
@media print {
 body.printing-material-stock-label > * { display:none !important; }
 body.printing-material-stock-label #material-stock-label { display:block !important; padding:15mm; }
 body.printing-material-stock-label #material-stock-label { position:absolute; inset:0; }
 body.printing-material-stock-label #material-stock-label h2 { font-size:24pt; }
}

@page material-stock-label { size:A4; margin:12mm; }
#material-stock-label { page:material-stock-label; }

.bridge-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.bridge-jumps button{flex:1 1 180px;padding:10px}.process-card-bridge>section{scroll-margin-top:16px;min-width:0}

/* Group route preview and import outcomes are local to these workflows. */
[data-route-preview] article{padding:10px;margin:8px 0;border:1px solid var(--ui-border);border-radius:6px;overflow-wrap:anywhere}
[data-route-preview] label{display:block;margin:6px 0}
.process-card-bridge form input:not([type=checkbox]),.process-card-bridge form select{max-width:100%;min-width:0}
.production-shell .bridge-import-success[role=status]{color:var(--ui-success-text)}
.production-shell .bridge-import-error[role=alert]{color:var(--ui-danger-text)}
@media(max-width:599.98px){
  #panel-production-records .entry-table-wrap{overflow:visible;border:0;background:transparent}
  #panel-production-records .entry-table{display:block;min-width:0;width:100%}
  #panel-production-records .entry-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  #entry-rows{display:block;min-width:0}
  #entry-rows>tr[data-entry-machine]{display:grid;grid-template-columns:minmax(0,1fr);margin:12px 0 0;padding:10px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);gap:8px}
  #entry-rows>tr[data-entry-machine]>td{display:block;min-width:0;max-width:none;width:auto;padding:4px;border:0;white-space:normal;overflow-wrap:anywhere}
  #entry-rows>tr[data-entry-machine]>td::before{display:block;content:attr(data-entry-label);font-size:13px;font-weight:600;color:var(--ui-text-subtle);margin-bottom:5px}
  #entry-rows>tr[data-entry-machine]>:is(td:nth-child(2),td:nth-child(6),td:nth-child(7)){grid-column:1/-1}
  #entry-rows input:not([type=checkbox]),#entry-rows select,#entry-rows .entry-workers>div{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
  #entry-rows .entry-box-input{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  #entry-rows .entry-workers label,#entry-rows .entry-check{white-space:normal}
  #entry-rows .entry-exception-row:not([hidden]){display:block;border:1px solid var(--ui-border);border-radius:0 0 8px 8px}
  #entry-rows .entry-exception-row>td{display:block;padding:10px;min-width:0}
  #entry-rows .entry-exception-grid{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
  #entry-rows .entry-exception-note{min-width:0}
  #panel-production-records .entry-save-bar{position:static;flex-wrap:wrap;gap:6px}
  #panel-production-records .entry-open-events article{max-width:100%;min-width:0}
  #panel-production-records .entry-open-events small{white-space:normal;overflow-wrap:anywhere}
}

.month-lock-banner{margin:8px 0 12px;padding:10px 12px;border:1px solid #e0b4a8;background:#fdf1ec;color:#7a2e14;border-radius:8px;font-weight:600}
.month-lock-banner.month-lock-flash{animation:month-lock-flash .6s ease 2}
@keyframes month-lock-flash{50%{background:#f8d5c7}}
.month-locked{opacity:.45;cursor:not-allowed}

/* 品质处理、客退／返工、金蝶交接（polish-round2） */
.qf-form{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-end;margin:6px 0;padding:8px;border:1px solid var(--ui-border,#d9dee5);border-radius:8px;background:var(--ui-surface,#fff)}
.qf-form b{flex-basis:100%}
.qf-form label{display:flex;flex-direction:column;gap:2px;font-size:.9em;min-width:120px}
.qf-form small{flex-basis:100%;color:var(--ui-muted,#5b6472)}
.qf-form.qf-inline{border:0;padding:0;background:transparent;margin:4px 0}
.qf-filter{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-end;margin:8px 0}
.qf-filter label{display:flex;flex-direction:column;gap:2px;font-size:.9em}
.qf-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.qf-chip{border:1px solid var(--ui-border,#d9dee5);border-radius:999px;padding:4px 12px;background:var(--ui-surface,#fff)}
.qf-chip.active{border-color:var(--ui-primary,#1f5fbf);font-weight:600}
.qf-warn{color:#a15c00}
.qf-voided td{color:var(--ui-muted,#5b6472);text-decoration:line-through}
.qf-pager button{margin-left:6px}
.qf-history{margin:4px 0;padding-left:18px;font-size:.9em}
.qf-note{font-size:.9em;color:var(--ui-muted,#5b6472)}
.qf-plan{margin:6px 0}
@media (max-width:600px){.qf-form label{min-width:100%}.qf-filter label{min-width:100%}}
#panel-quality-returns .quality-table-wrap,#panel-kingdee-handoffs .quality-table-wrap,#qf-holds .quality-table-wrap{overflow-x:auto;max-width:100%}
#panel-quality-returns,#panel-kingdee-handoffs{min-width:0}
/* 第4/5批：按岗位办理。提示与原表单分开，不在输入过程中重新绘制表单。 */
.workflow-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}.workflow-list>li{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dde3eb;border-radius:10px;padding:12px;background:#fff}.workflow-list>li>div{display:grid;gap:5px;min-width:0}.workflow-list p{margin:0;color:#536079}.workflow-list strong{color:#254b74}.workflow-list small{display:block;color:#536079}.workflow-list button{flex-shrink:0}.workflow-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.workflow-nav button{display:grid;text-align:left;gap:4px}.workflow-nav button[aria-pressed=true],.workflow-nav button[aria-current=true]{background:#e8f1fb;border-color:#336da8}.workflow-nav small{color:#536079}.workflow-return,.workflow-file-guide,.workflow-setup{padding:10px 12px;background:#f3f6fa;border-radius:8px;margin:12px 0}.workflow-lookup{display:flex;gap:8px;align-items:center;margin:12px 0}.owner-stock-review{grid-column:1/-1}.e1-responsibility{min-width:180px}.e1-responsibility small{display:block;white-space:normal}.account-roles>label:has([data-account-template]){display:block;margin:8px 0}
@media(max-width:600px){.workflow-list>li{align-items:flex-start;flex-wrap:wrap}.workflow-nav{display:grid;grid-template-columns:1fr 1fr}.workflow-nav button{white-space:normal}.workflow-list>li>button{margin-left:auto}.workflow-lookup{align-items:flex-start}}
.reconciliation-table td:first-child,.reconciliation-table th:first-child{min-width:170px;overflow-wrap:anywhere}
/* 排产准备清单 */
.plan-readiness{margin:8px 0;border:1px solid var(--ui-warning-border,#e6c27a);border-radius:8px;padding:6px 10px;background:var(--ui-surface,#fff)}
.plan-readiness>summary{font-weight:600;cursor:pointer}
.plan-ready-guide{font-size:.9em;color:var(--ui-muted,#5b6472)}
.plan-ready-item{border-top:1px solid var(--ui-border,#e3e7ec);padding:6px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 16px}
.plan-ready-item header{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.plan-ready-item.plan-ready-focus{outline:2px solid var(--ui-focus,#1f5fbf);outline-offset:2px}
.plan-ready-group ul{list-style:none;margin:2px 0;padding:0}
.plan-ready-group li{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center;padding:2px 0}
.plan-ready-group li.missing span{color:#a15c00;font-weight:600}
.plan-ready-group li.ok span{color:var(--ui-success-text,#256b3a)}
.plan-ready-group li small{color:var(--ui-muted,#5b6472)}
.plan-return-banner{margin:6px 0;padding:6px 10px;border-radius:8px;background:#fff7e6;border:1px solid #e6c27a}
@media (max-width:700px){.plan-ready-item{grid-template-columns:minmax(0,1fr)}}
.plan-ready-ok>summary,.plan-ready-done>summary{cursor:pointer;color:var(--ui-success-text,#256b3a);font-size:.9em}
.plan-ready-done{margin-top:6px}
.plan-return-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:50;max-width:calc(100vw - 32px);box-shadow:var(--ui-shadow-panel,0 4px 16px rgba(0,0,0,.15))}
/* 手机报工卡片紧凑排版（polish-round2）：两列，良品／次品并排，标签变小；只改排版，不改输入与保存逻辑。 */
@media(max-width:599.98px){
  #entry-rows>tr[data-entry-machine]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px;padding:8px 10px;margin:8px 0 0}
  #entry-rows>tr[data-entry-machine]>td{padding:2px 0}
  #entry-rows>tr[data-entry-machine]>td::before{font-size:12px;margin-bottom:2px}
  #entry-rows>tr[data-entry-machine]>td:nth-child(2){grid-column:1/-1;grid-row:2}
  #entry-rows>tr[data-entry-machine]>td:nth-child(1){grid-column:1;grid-row:1}
  #entry-rows>tr[data-entry-machine]>td:nth-child(3){grid-column:2;grid-row:1}
  #entry-rows>tr[data-entry-machine]>td:nth-child(4){grid-column:1;grid-row:3}
  #entry-rows>tr[data-entry-machine]>td:nth-child(5){grid-column:2;grid-row:3}
  #entry-rows>tr[data-entry-machine]>td:nth-child(6){grid-column:1;grid-row:4}
  #entry-rows>tr[data-entry-machine]>td:nth-child(7){grid-column:2;grid-row:4}
  #entry-rows>tr[data-entry-machine] .entry-machine{padding:4px 10px;min-height:0}
  #entry-rows>tr[data-entry-machine] td:nth-child(2) button{padding:2px 8px;min-height:0;font-size:13px}
  #entry-rows>tr[data-entry-machine] td:nth-child(2) b{margin-right:6px}
  #entry-rows>tr[data-entry-machine] td:nth-child(3) small{display:inline;margin-left:6px}
}
/* 入库差异：手机上每条差异一张卡片（第 3 批 W02）。 */
.inbound-diff-table td small{display:block;color:var(--ui-text-muted)}
.inbound-diff-wrap{max-width:100%;overflow-x:auto}
@media (max-width:640px){
  #production-inbound-differences-readonly{max-height:none;overflow:visible}
  .inbound-diff-wrap{overflow:visible}
  :is(#production-inbound-differences-readonly,#production-inbound-differences) .inbound-diff-table :is(tbody,tr,td){height:auto;min-height:0}
  .inbound-diff-table thead{display:none}
  .inbound-diff-table,.inbound-diff-table tbody,.inbound-diff-table tr,.inbound-diff-table td{display:block;width:100%;box-sizing:border-box}
  .inbound-diff-table tr{margin:0 0 10px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:8px}
  .inbound-diff-table td{display:grid;grid-template-columns:6.5em 1fr;gap:8px;padding:3px 0;border:0}
  .inbound-diff-table td::before{content:attr(data-label);color:var(--ui-text-muted)}
  .inbound-diff-table td[colspan]{display:block}
  .inbound-diff-table td[colspan]::before{content:none}
}
/* 领料单：手机屏幕上每行建议一张卡片，先看建议、已领、余料和拟补；打印仍是表格。 */
@media screen and (max-width:640px){
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table{min-width:0}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table thead{display:none}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table :is(tbody,tr,td){display:block;width:100%;box-sizing:border-box;height:auto;min-height:0}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table tr{margin:0 0 10px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:8px}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table td[data-label]{position:relative;padding:4px 0 4px 7.5em;border:0;min-height:1.4em}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table td[data-label]::before{content:attr(data-label);position:absolute;left:0;top:4px;width:7em;color:var(--ui-text-muted)}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table td details{max-width:none}
  body:not(.printing-material-issue) #material-issue-content .mi-lines-table td.mi-sign{display:none}
}

.warehouse-return-checks small{display:block;color:#64748b;margin-top:4px;}
