:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",system-ui,sans-serif;color:#25272b;background:#f5f5f7;--border:#d6d8dc;--muted:#62656c;--accent:#245d85;--danger:#912d23;font-size:15px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}header{background:#fff;color:#25272b;padding:22px max(24px,6vw);border-bottom:1px solid var(--border)}header h1{margin:0;font-size:26px;letter-spacing:-.7px}small{font-size:13px;color:var(--muted)}main{max-width:1360px;margin:24px auto;padding:0 24px}section{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;margin:20px 0}h2{font-size:25px;letter-spacing:-.5px;margin:0 0 12px}h3{font-size:18px;margin:24px 0 14px}h4{font-size:17px;margin:0 0 12px}p{line-height:1.65}label{display:block;margin:12px 0;color:#42454b}input,select{font:inherit;background:#fff;color:inherit;border:1px solid #969ba3;border-radius:7px;padding:9px 11px;max-width:100%;margin:5px 10px;min-height:40px}input[type=checkbox]{min-height:18px;width:18px;vertical-align:middle}button{font:inherit;font-weight:500;border:1px solid var(--border);border-radius:7px;padding:9px 14px;background:#f7f7f8;color:#30343a;margin:5px 6px 5px 0;cursor:pointer;min-height:40px}button:hover{background:#eceef1}button.primary,#preview,#login{background:var(--accent);border-color:var(--accent);color:white}button.primary:hover{background:#194b70}button:disabled{color:#70747c;background:#f0f1f3;border-color:#d5d7dc;cursor:not-allowed;opacity:1}input:disabled,select:disabled{background:#f2f3f5;color:#62656c;border-color:#c9ccd2}:focus-visible{outline:3px solid #286eaa;outline-offset:3px}nav{display:flex;flex-wrap:wrap;gap:4px}nav button[aria-pressed=true]{background:#e7edf3;color:#1f4f72;border-color:#aac0d0}#status{white-space:pre-wrap;padding:14px 18px;border-radius:8px;background:#eef2f6;border:1px solid #d3dce5}#status.error,.master-error:not(:empty){background:#fff0ed;color:var(--danger);border:1px solid #dfb7af;padding:12px;border-radius:7px}.table-scroll{overflow:auto;max-height:540px;border:1px solid #e1e2e5;border-radius:8px}table{border-collapse:separate;border-spacing:0;min-width:500px;width:100%;font-size:14px;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e8e9ec;vertical-align:top}th{background:#f7f8fa;position:sticky;top:0;z-index:1;white-space:nowrap;color:#52565f;font-weight:600}td{overflow-wrap:anywhere}tbody tr:hover{background:#f7f9fc}td button{font-size:13px;white-space:nowrap;margin:0;min-height:36px;padding:6px 10px}.line{padding:10px;border-bottom:1px solid #ddd;display:flex;flex-wrap:wrap;gap:6px}.line input{width:150px}.line select{width:280px}.warning{color:#815217}.detail{white-space:pre-wrap;max-height:260px;overflow:auto}button.danger{background:#fff1ef;border-color:#dba69d;color:var(--danger)}summary{cursor:pointer;padding:12px 0;font-weight:500}details{border-top:1px solid var(--border);margin-top:20px}[hidden]{display:none!important}
.master-page>p{max-width:900px;color:var(--muted)}#master-note{margin:16px 0;color:#424b56;font-size:14px}.master-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:12px 0 22px;border-bottom:1px solid var(--border)}.master-toolbar label{margin:0}.master-toolbar input,.master-toolbar select{display:block;margin:6px 0 0;min-width:180px}.master-toolbar input{width:320px}.master-tabs{margin:20px 0 8px}.master-tabs button{background:transparent;border-color:transparent;margin-right:4px}.master-tabs button[aria-pressed=true]{border-color:#cbd1d8;background:#edf0f4;color:#25272b}.master-form{background:#f8f9fb;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;padding:24px;margin:20px 0;max-width:960px}.master-form label{margin:5px 0}.master-form input:not([type=checkbox]),.master-form select{display:block;width:100%;margin:6px 0 0}.master-form p{grid-column:1/-1;margin:8px 0;font-size:14px}.master-form button{justify-self:start}.master-form button.primary{min-width:130px}#master-evidence{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}#master-evidence p{margin:8px 0}#master-link-code{font-family:ui-monospace,monospace;font-weight:600}.master-page[aria-busy=true]{cursor:progress}.master-page td:nth-child(4),.master-page td:nth-child(5){font-variant-numeric:tabular-nums}
@media(max-width:760px){main{padding:0 12px;margin:12px auto}section{padding:20px 16px}header{padding:18px 20px}h2{font-size:23px}.master-form{grid-template-columns:1fr;padding:18px}.master-toolbar{gap:12px}.master-toolbar label,.master-toolbar input{width:100%}.master-tabs{flex-wrap:wrap}.table-scroll{max-height:460px}button{min-height:42px}}
#master-partners td:nth-child(3),#master-partners td:nth-child(4),#master-items td:nth-child(5),#master-items td:nth-child(6),#master-candidates td:nth-child(4),#master-candidates td:nth-child(5){text-align:right}
#master-candidates table{min-width:880px}#master-items table{min-width:760px}#master-candidates td:first-child,#master-items td:first-child{white-space:nowrap;overflow-wrap:normal}
#master-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px}#master-evidence h4{grid-column:1/-1}#master-evidence p{font-size:14px;margin:5px 0}@media(max-width:760px){#master-evidence{grid-template-columns:1fr}}

/* Shell V2: desktop information architecture; existing transaction handlers retained. */
.shell-v2{--border:#e0e2e6;--muted:#5e646e;--accent:#255b80;font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC",system-ui,sans-serif;background:#f7f8fa;color:#242830}
.shell-v2:has(#workspace:not([hidden]))>header{display:none}
.shell-v2 main{max-width:none;padding:0;margin:0}
.shell-v2 #workspace{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:100vh}
.shell-v2 #app-sidebar{background:#f0f1f4;border-right:1px solid var(--border);padding:26px 16px 80px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px}
.brand{display:flex;flex-direction:column;padding:0 10px;gap:4px}.brand strong{font-size:20px;letter-spacing:-.6px}.brand span{color:var(--muted);font-size:12px}
.shell-v2 #main-nav{display:flex;flex-direction:column;gap:4px}.shell-v2 #main-nav button{margin:0;text-align:left;border:0;background:none;font-size:14px;min-height:40px;padding:9px 12px;border-radius:7px}
.shell-v2 #main-nav button[aria-current=page]{background:#fff;box-shadow:0 1px 3px #18202b0c;color:#234e70;font-weight:600}
.shell-v2 #main-nav button:hover{background:#e4e7ed}.sidebar-footer{margin-top:auto;border-top:1px solid #d8dbe1;padding:16px 8px 0;font-size:12px;color:var(--muted)}.sidebar-footer button{display:inline-block;font-size:12px;padding:5px 8px;min-height:32px;background:none;border:0;margin:4px 4px 0 0}.sidebar-footer #identity{margin-bottom:8px;overflow-wrap:anywhere}
.shell-v2 #page-content{padding:34px 36px 100px;min-width:0}.shell-v2 #page-content>.tab{border:0;background:transparent;padding:0;margin:0;border-radius:0}
.shell-v2 h2{font-size:28px;font-weight:650;letter-spacing:-.7px;margin:0 0 10px}.shell-v2 h3{font-size:17px;font-weight:600;margin:24px 0 12px}.shell-v2 p{color:var(--muted);line-height:1.6;font-size:14px}.shell-v2 .tab>p{max-width:920px}
.shell-v2 #status{position:fixed;bottom:0;left:212px;right:0;margin:0;border-radius:0;padding:10px 36px;font-size:13px;z-index:5;background:#f7f9fc;border:0;border-top:1px solid var(--border);min-height:40px}.shell-v2 #status:empty{display:none}
.shell-v2 button{min-height:36px;font-size:14px;border-radius:7px;padding:7px 12px}.shell-v2 input,.shell-v2 select{min-height:36px;margin:4px 0;font-size:14px;border-color:#b9bec7;border-radius:6px;padding:7px 10px}.shell-v2 button.primary{background:var(--accent);color:#fff}.shell-v2 input[type=checkbox]{min-height:18px;width:18px;padding:0}
.shell-v2 .master-toolbar,.page-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:14px 0 18px;margin:0 0 20px}.shell-v2 .master-toolbar label,.page-toolbar label{font-size:12px;margin:0}.page-toolbar label input,.page-toolbar label select{display:block}.page-toolbar label:has([type=checkbox]){display:flex;align-items:center;gap:8px;align-self:center;margin-top:16px}.page-toolbar label:has([type=search]){flex:1;min-width:200px}.page-toolbar input[type=search]{width:100%}
.segmented{display:flex;align-self:end;background:#e9ebef;padding:3px;border-radius:8px;margin-bottom:4px}.segmented button{background:none;border:0;margin:0;min-height:30px;padding:5px 12px}.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 3px #0001;color:#263b50}
.shell-v2 .table-scroll{background:#fff;max-height:calc(100vh - 260px);border-color:var(--border);border-radius:9px}.shell-v2 table{font-size:13px}.shell-v2 th{background:#f5f6f8;font-weight:600;padding:11px 14px;color:#535b67}.shell-v2 td{padding:11px 14px;border-bottom:1px solid #eceef1;vertical-align:middle;line-height:1.5}.shell-v2 td button{min-height:30px;font-size:12px}.shell-v2 tr:focus-within{background:#edf3f9}.shell-v2 .text-action{border:0;background:none;color:#255b80;padding:0;text-align:left}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0 38px;border-bottom:1px solid var(--border);padding-bottom:28px}.summary-grid>div{display:flex;flex-direction:column;gap:8px}.summary-grid span{font-size:13px;color:var(--muted)}.summary-grid strong{font-size:34px;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-1px}.summary-grid>div:last-child strong{font-size:17px;letter-spacing:0}
#order-table table,#master-items table{min-width:1450px}#order-table th,#master-items th{white-space:nowrap}#order-table td,#master-items td{min-width:80px}#order-table td:nth-child(4),#order-table td:nth-child(5),#order-table td:nth-child(6){white-space:nowrap;font-variant-numeric:tabular-nums}#factory input,#factory select{max-width:100%}#factory-positions p{color:var(--muted)}
.shell-v2 .master-tabs{gap:4px;border-bottom:1px solid var(--border);margin:0 0 16px;padding-bottom:8px}.shell-v2 .master-tabs button{border:0;font-size:13px}.shell-v2 .master-tabs button[aria-pressed=true]{background:#e5e9ef}
dialog{background:#fff;color:#242830;border:1px solid #dadde3;border-radius:14px;box-shadow:0 24px 90px #18243830;padding:28px;width:min(800px,calc(100vw - 40px));max-height:90vh;overflow:auto}dialog::backdrop{background:#1d27384d}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:-28px;background:white;z-index:3;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:16px}.sheet-heading h2{font-size:23px;margin:0;overflow-wrap:anywhere}.sheet-heading button{flex-shrink:0}
#master-drawer,#order-detail{width:min(900px,calc(100vw - 28px));height:100vh;max-height:100vh;margin:0 0 0 auto;top:0;right:0;border-radius:0;padding:24px 28px}.shell-v2 .master-form{display:grid;background:none;border:0;border-bottom:1px solid var(--border);padding:0 0 22px;margin:0 0 24px;gap:12px 20px}.shell-v2 .master-form label{font-size:13px;margin:0}.shell-v2 .master-form input,.shell-v2 .master-form select{width:100%;margin:6px 0}.shell-v2 .master-form label:has([type=checkbox]){display:flex;align-items:center;gap:10px;grid-column:1/-1}.shell-v2 .master-form input[type=checkbox]{width:18px;margin:0}
.shell-v2 .master-form label:has([name=item_code]),.shell-v2 .master-form label:has([name=customer_partner_id]){border-left:3px solid #b6c5d3;padding-left:12px}.shell-v2 .master-form p{margin:0;grid-column:1/-1}.shell-v2 .master-form button{margin:0}.danger-zone{border-top:1px solid #ddccc8;padding:12px 0;margin-top:22px}.danger-zone>summary{color:#8b3930}.danger-zone button{background:#fff;color:#8b3930;border-color:#dfccc8}
.action-preview{border-top:1px solid var(--border);padding-top:10px;margin-top:16px}.action-preview p{margin:8px 0;font-size:14px}#master-action-dialog>label{display:block;margin:18px 0}#master-action-dialog>label input,#master-action-dialog>label select{display:block;width:100%}.bulk-heading h3{margin:0 0 6px}.bulk-heading{margin:14px 0}.bulk-heading p{margin:0}.shell-v2 #bulk-review{margin-bottom:32px}#bulk-review>.master-toolbar{padding-top:8px}.shell-v2 #bulk-candidates-table td:nth-child(5),.shell-v2 #bulk-candidates-table td:nth-child(6),.shell-v2 #order-table td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}
.shell-v2 #login,.shell-v2 #password-panel{color:#242830;background:#fff;width:min(600px,calc(100% - 32px));margin:40px auto;padding:28px}.shell-v2 #login form,.shell-v2 #password-panel form{display:grid;gap:12px}.shell-v2 #login input,.shell-v2 #password-panel input{display:block;width:100%;margin:6px 0}.shell-v2 #login label{margin:0}.shell-v2 #login-form button{background:var(--accent);color:white}.shell-v2 #forgot-form{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}
@media(max-width:1050px){.shell-v2 #workspace{grid-template-columns:172px minmax(0,1fr)}.shell-v2 #page-content{padding:26px 22px 90px}.shell-v2 #app-sidebar{padding:24px 10px 80px}.shell-v2 #status{left:172px;padding-left:22px}.summary-grid{gap:16px}.summary-grid strong{font-size:30px}}
@media(max-width:700px){.shell-v2 #workspace{display:block}.shell-v2 #app-sidebar{position:relative;height:auto;padding:16px;gap:14px}.shell-v2 #main-nav{display:flex;flex-direction:row;overflow:auto;flex-wrap:nowrap}.shell-v2 #main-nav button{white-space:nowrap;flex-shrink:0}.sidebar-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 0 0}.sidebar-footer #identity{flex-basis:100%;margin:0}.shell-v2 #page-content{padding:22px 16px 90px}.shell-v2 #status{left:0;padding:10px 16px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shell-v2 h2{font-size:24px}.shell-v2 .master-form{grid-template-columns:1fr}.shell-v2 .master-toolbar input{width:100%;min-width:0}.page-toolbar label{flex:1;min-width:140px}.shell-v2 .table-scroll{max-height:65vh}dialog,#master-drawer,#order-detail{padding:20px 16px;width:100vw;border-radius:0}.sheet-heading{top:-20px}.shell-v2 .master-form button{min-height:40px}}

/* Factory theme (2026-10-07): workflow-centred redesign. System fonts only (CSP has no external font source). */
.factory-theme{--border:#d9dedc;--muted:#4c5661;--accent:#1a4fa3;--ink:#16191d;--ground:#f1f3f2;background:var(--ground);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}
.factory-theme #app-sidebar{background:#1b1f24;border-right:0;color:#c9d0d8}.factory-theme .brand strong{color:#fff}.factory-theme .brand span{color:#f0b37a}
.factory-theme #main-nav{gap:2px}.factory-theme #main-nav button{color:#c9d0d8;min-height:44px;font-size:15px}.factory-theme #main-nav button:hover{background:#2a3038;color:#fff}
.factory-theme #main-nav button[aria-current=page]{background:#33506f;color:#fff;box-shadow:none;font-weight:600}
.nav-group{margin:16px 12px 4px;font-size:12px;letter-spacing:.08em;color:#8e99a6}
.factory-theme .sidebar-footer{border-top-color:#333a43;color:#aab3bd}.factory-theme .sidebar-footer button{color:#c9d0d8}.factory-theme .sidebar-footer button:hover{background:#2a3038;color:#fff}
.factory-theme :focus-visible{outline:3px solid #6ea3e8;outline-offset:2px}
.factory-theme button{min-height:40px}.factory-theme button.primary,.factory-theme #preview,.factory-theme #post{background:var(--accent);border-color:var(--accent);color:#fff}
.factory-theme .text-action{color:var(--accent);min-height:0;font-weight:600}.factory-theme .segmented{background:#e3e7e6}.factory-theme .segmented button[aria-pressed=true]{background:#1b1f24;color:#fff;box-shadow:none}
.factory-theme .table-scroll{border-color:var(--border)}.factory-theme th{background:#eef1f0;color:var(--muted)}.factory-theme td.num,.factory-theme th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 22px}
.stat-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin:0;min-height:0;color:var(--ink);font:inherit}
.factory-theme button.stat-card{cursor:pointer}.factory-theme button.stat-card:hover{border-color:var(--accent);background:#fff}
.stat-card span{font-size:13px;color:var(--muted)}.stat-card strong{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}.stat-card small{font-size:13px;color:var(--muted)}
.stat-general{border-top:4px solid #1a4fa3}.stat-consignment{border-top:4px solid #c96a12}.stat-urgent{border-color:#8e1b1b}.stat-urgent strong{color:#8e1b1b}.stat-need{border-color:#c96a12}.stat-need strong{color:#7a3e05}
.stat-unknown{background:repeating-linear-gradient(135deg,#eceeed 0 8px,#f7f8f7 8px 16px);border-style:dashed;border-color:#8a949e}.stat-unknown strong{font-size:17px}
.stat-due-OVERDUE{border-top:4px solid #8e1b1b}.stat-due-D7{border-top:4px solid #d9867c}.stat-due-D14{border-top:4px solid #d9b23c}.stat-due-D21{border-top:4px solid #6da874}
.chip{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.5}
.chip-due-OVERDUE{background:#8e1b1b;color:#fff}.chip-due-D7{background:#f6d3cf;color:#6b1410}.chip-due-D14{background:#fbe9b8;color:#5a4300}.chip-due-D21{background:#dcebdd;color:#1e4d25}.chip-due-LATER,.chip-due-UNKNOWN{background:#e9eceb;color:#4c5661}
.chip-judge-URGENT{background:#8e1b1b;color:#fff}.chip-judge-NEED{background:#7a3e05;color:#fff}.chip-judge-OK{background:#dcebdd;color:#1e4d25}.chip-judge-UNKNOWN{background:#fff;color:#16191d;border:1px dashed #8a949e}
.due-cell{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;font-variant-numeric:tabular-nums}
#order-table table.grouped{min-width:1020px}#order-table table.grouped td{min-width:0}.factory-theme #order-table .table-scroll{max-height:none}.grouped .group-row td:last-child,.grouped th:last-child{white-space:nowrap}.grouped .group-row td{background:#eef1f0;border-top:1px solid #c9cfcd;font-size:14px}.grouped .group-row td:first-child small{display:block;color:var(--muted);font-size:12px}.grouped .group-row td.num{font-weight:600}
.grouped .line-row td{font-size:13px}.grouped .line-row td:first-child{padding-left:30px}.grouped tbody tr.group-row:hover{background:none}
#order-rule{font-size:13px;margin-top:14px}#order-judges{display:inline-flex;margin:0 0 10px}#orders>.segmented{display:inline-flex;margin:6px 0 4px}
.home-columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;align-items:start}
.todo-list{background:#fff;border:1px solid var(--border);border-radius:8px}.todo-row{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-top:1px solid #e7eae9}.todo-row:first-child{border-top:0}
.todo-row>div{flex:1;min-width:0}.todo-row strong{display:block;font-weight:600;font-size:14px}.todo-row small{display:block;color:var(--muted);font-size:13px}.todo-list>p{margin:0;padding:16px}
.todo-count{min-width:44px;height:30px;border-radius:4px;background:#fbe9d6;color:#7a3e05;display:flex;align-items:center;justify-content:center;font-weight:600;font-variant-numeric:tabular-nums}
.quick-list{display:flex;flex-direction:column;gap:8px}.factory-theme .quick-action{min-height:46px;margin:0;text-align:left;background:#fff;border:1px solid var(--border);font-size:15px}.factory-theme .quick-action:hover{border-color:var(--accent);color:var(--accent);background:#fff}
#print-sheet{display:none}
@media(max-width:900px){.home-columns{grid-template-columns:1fr}}
@media(max-width:700px){.nav-group{display:none}}
@media print{
 body.printing>*:not(#print-sheet){display:none!important}body.printing{background:#fff}
 body.printing #print-sheet{display:block;padding:0;color:#000;font-size:12pt;font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
 @page{size:A4;margin:15mm}
 .print-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:10px;margin-bottom:14px}.print-company{display:flex;flex-direction:column;gap:2px;font-size:9pt}.print-company strong{font-size:15pt}.print-head h1{margin:0;font-size:22pt;letter-spacing:.1em;text-align:right}.print-head p{margin:2px 0 0;text-align:right;font-size:10pt}
 .print-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;margin-bottom:14px}.print-meta span{display:block;font-size:9pt;color:#444}.print-meta strong{font-size:12pt}
 #print-sheet table{width:100%;min-width:0;border-collapse:collapse;font-size:11pt}#print-sheet th,#print-sheet td{border:1px solid #000;padding:6px 8px;text-align:left;position:static;background:none}#print-sheet th{background:#eee}
 .print-note{font-size:9pt;color:#444;margin:10px 0}.print-signs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}.print-signs div{border-top:1px solid #000;padding-top:6px;height:60px;font-size:10pt}.print-foot{font-size:9pt;color:#444;border-top:1px solid #000;padding-top:8px}
}
.factory-theme #movement-form,.factory-theme #weight-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;align-items:end;background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px 20px;margin:14px 0}
.factory-theme #movement-form label,.factory-theme #weight-form label{margin:0;font-size:13px}.factory-theme #movement-form label>input,.factory-theme #movement-form label>select,.factory-theme #weight-form label>input{display:block;width:100%;margin:6px 0 0}
.factory-theme #movement-form #lines{grid-column:1/-1}.factory-theme #movement-form .line{padding:10px 0;gap:8px;border-bottom:1px solid #e7eae9}.factory-theme #movement-form>button,.factory-theme #weight-form>button{justify-self:start;margin:0}
#movement-recent{margin-bottom:14px}
.partner-switch{display:inline-flex;margin:0 0 14px}.factory-theme #movement-form .line{align-items:center}.factory-theme #movement-form .line input{width:160px;margin:0}.factory-theme #movement-form .line select{width:260px;margin:0}.factory-theme #movement-form .line button{margin:0}
.estimate{flex-basis:100%;font-size:13px;color:var(--muted);min-height:18px}
.ask-dialog{width:min(460px,calc(100vw - 32px));padding:24px;border-radius:14px}.ask-dialog form{margin:0}.ask-dialog p{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 18px}.ask-dialog input{display:block;width:100%;margin:0 0 18px}.ask-actions{display:flex;justify-content:flex-end;gap:10px}.ask-actions button{margin:0;min-width:88px}
.group-cell{display:flex;align-items:flex-start;gap:8px}.grouped .line-row td:first-child{padding-left:48px}.factory-theme button.expander,button.expander{flex:none;min-height:28px;width:28px;padding:0;margin:0;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:13px;line-height:1;cursor:pointer}#order-expand-all{margin:0 0 10px}
.photo-frame img{display:block;max-width:100%;max-height:420px;border:1px solid var(--border);border-radius:10px;background:#fff}.photo-frame{margin:10px 0}.photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0}.photo-actions button{margin:0}
#delivery-table td,#delivery-table th{white-space:nowrap}#delivery-toolbar label:first-child{flex:1 1 320px;max-width:520px}#delivery-toolbar input{width:100%}
.list-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 10px}.list-tools button,#order-expand-all{margin:0}#audit-toolbar button{margin:0}
#movement-table td:nth-child(-n+3),#movement-table th{white-space:nowrap}
#movement-groups{display:inline-flex;margin:0 0 4px}

/* 作業單據開單：單據資料區＋品號明細表 */
.factory-theme #movement-form{display:block;background:none;border:0;padding:0;margin:14px 0}
.doc-block{background:#fff;border:1px solid var(--border);border-radius:8px;padding:6px 20px 18px;margin:0 0 16px;min-width:0}.doc-block legend{font-weight:700;font-size:15px;padding:0 8px;color:var(--ink,#16191d)}
.doc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 20px;align-items:start}.doc-fields label{margin:0;font-size:13px;font-weight:600}.doc-fields label.wide{grid-column:1/-1}.doc-fields label>input,.doc-fields label>select,.doc-fields label>.date-field{display:block;width:100%;margin:6px 0 0}.doc-fields small{display:block;font-weight:400;color:var(--muted);margin-top:4px}
.doc-route{margin:14px 0 0;padding:8px 12px;background:#f1f3f2;border-radius:6px;font-size:14px}.doc-note{color:#8a4b00;font-size:13px;margin:8px 0;min-height:0}.doc-note:empty,.doc-route:empty{display:none}
#line-table{width:100%;min-width:760px;border-collapse:collapse}#line-table th,#line-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font-size:14px}#line-table .num{text-align:right;font-variant-numeric:tabular-nums}#line-table thead th{font-size:13px;color:var(--muted);background:#f6f7f7;white-space:nowrap}
#line-table td.line-no{width:52px;color:var(--muted)}#line-table select{width:100%;min-width:230px;margin:0}#line-table input[name=qty]{width:130px;margin:0;text-align:right}#line-table .line-name{min-width:120px}#line-table tfoot th,#line-table tfoot td{font-weight:700;border-top:2px solid var(--ink,#16191d);border-bottom:0;background:#fafbfb}#line-table button{margin:0;min-height:34px}
.factory-theme #add-line{margin:12px 0 0}.doc-actions{display:flex;justify-content:flex-end}.doc-actions button{margin:0;min-width:160px}.doc-total{font-weight:700;margin:10px 0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 日期欄位：固定顯示 年/月/日；原生欄位只保留給日曆 */
.date-field{display:inline-flex;align-items:stretch;gap:6px;position:relative;vertical-align:middle}.date-field>input[type=text]{flex:1 1 auto;min-width:0;width:9.5em;margin:0;font-variant-numeric:tabular-nums}.date-field>input[type=date]{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0;margin:0}
.date-field>.date-pick,.factory-theme .date-field>.date-pick{flex:none;margin:0;min-height:0;padding:0 10px;font-size:13px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}label>.date-field{display:flex;margin-top:6px}
.factory-theme #movement-form #line-table tr.line{display:table-row;padding:0;border:0;gap:0}.factory-theme #movement-form #line-table .line select{width:100%;min-width:230px;margin:0}.factory-theme #movement-form #line-table .line input{width:130px;margin:0}.factory-theme #movement-form #line-table .line button{margin:0}.factory-theme #movement-form .doc-fields label{margin:0}
#line-table{min-width:680px}.factory-theme #movement-form #line-table .line select{min-width:190px}
#line-mode-box{margin:4px 0 12px}#line-mode{display:inline-flex}.doc-help{font-size:13px;color:var(--muted);margin:8px 0 0}#line-table input[hidden]{display:none}.factory-theme #movement-form #line-table .line input[name=kg]{width:130px;text-align:right}

/* 福興交貨單開單 */
#dispatch-panel{background:#fff;border:1px solid var(--border);border-radius:8px;padding:6px 20px 18px;margin:0 0 22px}#dispatch-panel .segmented{display:inline-flex;margin:6px 0 12px;flex-wrap:wrap}
.dispatch-start{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;background:#f1f3f2;border-radius:6px;font-size:14px}.dispatch-start button{margin:0}
#dispatch-table{width:100%;min-width:900px;border-collapse:collapse}#dispatch-table>thead th,#dispatch-table>tbody>tr>td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:14px}#dispatch-table>thead th{font-size:13px;color:var(--muted);background:#f6f7f7;white-space:nowrap}
#dispatch-table small{display:block;color:var(--muted);font-size:12px;margin-top:4px}#dispatch-table small.dispatch-warn{color:#912d23;font-weight:600}#dispatch-table select{display:block;min-width:170px;margin:0 0 6px}#dispatch-table button{margin:0 6px 6px 0;min-height:34px}
#dispatch-table details summary{cursor:pointer;font-weight:600;font-variant-numeric:tabular-nums}#dispatch-table details table{margin:8px 0 0;font-size:13px;border-collapse:collapse}#dispatch-table details th,#dispatch-table details td{padding:4px 10px 4px 0;border:0;text-align:left;background:none}
.chip.dispatch-UNASSIGNED{background:#fde7c4;color:#7a4a00}.chip.dispatch-READY{background:#d9e8fb;color:#12407e}.chip.dispatch-WAITING{background:#ececec;color:#444}.chip.dispatch-POSTED{background:#dcefdc;color:#1c5a22}.chip.dispatch-EXEMPT,.chip.dispatch-CANCELLED{background:#f1f1f1;color:#666}
#dispatch-table>tbody>tr>td:nth-child(2),#dispatch-table>tbody>tr>td:nth-child(3),#dispatch-table>tbody>tr>td:nth-child(5){white-space:nowrap}#dispatch-table>tbody>tr>td:nth-child(5) small{white-space:normal}
.doc-warning{background:#fff4e0;border:1px solid #e8b96a;border-radius:6px;padding:8px 12px;color:#6b4300;font-size:14px;margin:8px 0}
#dispatch-table details{border:0;padding:0;margin:0}
.order-resolve{border:1px solid #e3c9a0;background:#fff8ec;border-radius:8px;padding:10px 14px;margin:12px 0}.order-resolve p{margin:0 0 10px;font-size:14px}.order-resolve button{margin:0 8px 0 0}
.qty-notes small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.grouped .line-row.shipped-out td{color:var(--muted)}
#reconcile-table table{min-width:1040px}#reconcile-table td:nth-child(-n+5),#reconcile-table th{white-space:nowrap}#reconcile .segmented{display:inline-flex;margin:0 0 6px}

.coverage-warning{border:1px solid #d9a441;background:#fff8e6;border-radius:8px;padding:12px 16px;margin:12px 0;line-height:1.6}.coverage-warning ul{margin:6px 0 0;padding-left:20px}.coverage-warning li+li{margin-top:6px}

/* 數字、日期、單號不從中間斷行；表格過寬時在自己的框內左右捲動。 */
.table-scroll td,.table-scroll th{overflow-wrap:normal}.table-scroll td{min-width:72px}
@media(max-width:700px){.shell-v2 #main-nav{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:28px}.shell-v2 #main-nav button[aria-current=page]{outline:2px solid #8fb4d8}}

.text-action{padding:4px 2px;min-height:28px}

/* 品號視窗：每個區塊的保存按鈕靠右，放在該區塊底部。 */
#master-drawer form>button.primary,#master-drawer .master-form>button.primary{grid-column:1/-1;justify-self:end;margin-top:4px}
#master-drawer details.danger-zone{margin-top:28px}

/* 批次編輯生產資料 */
#item-bulk-editor{width:min(1500px,calc(100vw - 28px));max-height:94vh}#item-bulk-editor .bulk-table td{padding:4px 6px;vertical-align:middle}#item-bulk-editor .bulk-table select,#item-bulk-editor .bulk-table input{min-width:84px;margin:0}#item-bulk-editor td.bulk-changed{background:#fff3c4}#item-bulk-editor tr.bulk-inactive td{color:var(--muted)}#item-bulk-editor .bulk-table th:first-child,#item-bulk-editor .bulk-table td:first-child{position:sticky;left:0;background:#fff;z-index:1}#master-bulk-ITEM{margin-left:8px}

#item-bulk-editor .bulk-table td:first-child,#item-bulk-editor .bulk-table td:nth-child(2){white-space:nowrap}

/* 委外交期表：品號合計列粗體、淡底；明細列縮排感。列印同樣加粗。 */
.schedule-table tr.schedule-group td{font-weight:700;background:#f1f4f7;border-top:2px solid #c9d2dc}.schedule-table tr.schedule-line td:nth-child(3){padding-left:18px}
@media print{#print-sheet tr.print-strong td{font-weight:700;background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.row-actions{display:inline-flex;gap:6px;flex-wrap:wrap}

#print-sheet .print-meta .print-wide{grid-column:1/-1}

.line-name .line-stock{display:block;color:var(--muted);font-size:12px;margin-top:2px}

/* 庫存頁 */
.stock-cards{margin-bottom:12px}.stock-card{text-align:left;cursor:pointer}.stock-card.active{outline:2px solid #33506f;background:#eef3f8}
.stock-note{color:var(--muted);font-size:13px;margin:6px 0 10px}
.stock-matrix td.num,.stock-matrix th{white-space:nowrap}.stock-matrix td.neg{color:#b42318;font-weight:600}.stock-matrix td small{display:block;color:var(--muted);font-size:11px}
.stock-matrix tr.stock-group td{background:#f1f4f7;font-weight:700;border-top:2px solid #c9d2dc}.stock-matrix tr.stock-group td:first-child{display:flex;gap:6px;align-items:center}
.stock-matrix tr.stock-row td:first-child{padding-left:34px}
#print-sheet .print-head p{margin:2px 0}

/* 2026-10-22 上線前畫面檢查修正 */
.doc-fields label>.date-field{display:flex;width:100%}
.doc-fields label>input,.doc-fields label>select,.doc-fields .date-field>input[type=text],.doc-fields .date-field>.date-pick{height:38px;box-sizing:border-box}
.date-field>.date-pick,.factory-theme .date-field>.date-pick{border-color:#b9bec7;font-size:14px}
.doc-fields>.doc-note{grid-column:1/-1;margin:0;order:1}.doc-fields>label.wide{order:2}
.doc-fields label:has(>input:required,>select:required)::before{content:'＊';color:#b42318}
.shell-v2 #app-sidebar{overflow-y:auto}
.factory-theme #movement-form #line-table .line select{min-width:170px}.factory-theme #movement-form #line-table .line input,.factory-theme #movement-form #line-table .line input[name=kg]{width:110px}
#print-sheet tbody td:nth-child(n+4),#print-sheet tfoot td{text-align:right}
@media(max-width:700px){
 #line-table,.factory-theme #movement-form #line-table{min-width:0;display:block}#line-table thead{display:none}#line-table tbody,#line-table tfoot{display:block}
 .factory-theme #movement-form #line-table tr.line{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--border)}
 #line-table tr.line td{border:0;padding:2px 0;text-align:left;width:auto}#line-table tr.line td:nth-child(2),#line-table tr.line td:nth-child(4){grid-column:1/-1}
 #line-table tr.line td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:400;color:var(--muted)}#line-table tr.line td:empty{display:none}
 .factory-theme #movement-form #line-table .line select{min-width:0;width:100%}.factory-theme #movement-form #line-table .line input,.factory-theme #movement-form #line-table .line input[name=kg]{width:100%}
 #line-table tfoot tr{display:flex;flex-wrap:wrap;gap:4px 16px;padding:8px 0}#line-table tfoot th,#line-table tfoot td{border:0;padding:0}#line-table tfoot td:empty{display:none}
 .text-action{min-height:32px;padding:6px 2px}
}
