@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=Inter+Tight:wght@500;600;700;800&display=swap");:root{color-scheme:light;--bg:#f7f5f0;--surface:#ffffff;--surface-2:#fbfaf7;--line:#dedbd3;--line-soft:#ede9df;--ink:#24211d;--ink-2:#514c45;--ink-3:#797168;--ink-4:#a99f94;--accent:#2f8f68;--accent-ink:#0f5f3e;--accent-wash:#eaf8ef;--accent-line:#b7ddc7;--warning:#ab7318;--warning-wash:#fff6e4;--danger:#b94738;--danger-wash:#fff0ed;--success:#237b52;--success-wash:#edf8f1;--sans-thai:"IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--sans-lat:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--rail-w:72px;--r:8px;--r-sm:6px;--shadow-sm:0 1px 2px rgb(36 33 29/0.04);--shadow-md:0 1px 2px rgb(36 33 29/0.06),0 12px 28px rgb(36 33 29/0.08)}*{box-sizing:border-box}body,html{height:100%;width:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans-thai);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}.mono{font-family:var(--mono)}.lat{font-family:var(--sans-lat)}.app-shell{display:flex;height:100vh;min-height:0;overflow:hidden}.app-main{min-width:0;flex:1 1;overflow:hidden}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel{display:grid;width:min(100%,360px);grid-gap:16px;gap:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-md);padding:24px}.login-panel h1{margin:0;font-family:var(--sans-lat);font-size:28px;font-weight:800;letter-spacing:0}.login-panel p{margin:2px 0 0;color:var(--ink-3);font-size:13px;font-weight:700}.login-field{display:grid;grid-gap:6px;gap:6px;color:var(--ink-2);font-size:13px;font-weight:800}.login-field input{height:42px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);padding:0 12px}.login-field input:focus{border-color:var(--accent);outline:2px solid var(--accent-wash)}.login-error{border:1px solid #f2b9ae;border-radius:var(--r-sm);background:var(--danger-wash);color:var(--danger);font-size:13px;font-weight:800;padding:8px 10px}.login-button{width:100%;justify-content:center}.app-rail{display:none;width:var(--rail-w);flex:0 0 var(--rail-w);flex-direction:column;align-items:center;gap:18px;border-right:1px solid var(--line-soft);background:var(--surface);padding:10px 8px}.rail-mark{height:40px;width:40px;justify-content:center;border-radius:var(--r);background:var(--ink);color:var(--surface);font-family:var(--sans-lat);font-size:13px;font-weight:800}.rail-mark,.rail-nav{display:flex;align-items:center}.rail-nav{width:100%;gap:8px}.rail-item,.rail-nav{flex-direction:column}.rail-item{display:flex;height:56px;width:56px;align-items:center;justify-content:center;gap:2px;border-radius:var(--r);color:var(--ink-3);text-decoration:none;font-size:12px;font-weight:700;transition:background .15s,color .15s}.rail-item.active,.rail-item:hover{background:var(--accent-wash);color:var(--accent-ink)}.rail-icon{height:21px;width:21px}.rail-spacer{flex:1 1}.batch-page{display:flex;height:100vh;min-height:0;flex-direction:column;overflow:hidden}.topbar{display:flex;min-height:64px;flex:0 0 auto;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-bottom:1px solid var(--line-soft);background:var(--surface);padding:10px 18px}.topbar h1{margin:0;color:var(--ink);font-family:var(--sans-lat);font-size:24px;font-weight:800;letter-spacing:0}.topbar-meta{margin-top:2px;color:var(--ink-3);font-size:12px;font-weight:600}.topbar-actions{display:flex;flex:1 1 320px;flex-wrap:wrap;justify-content:flex-end;gap:8px}.page-search{display:flex;width:min(100%,520px);min-height:42px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);padding:0 8px 0 12px;transition:border-color .15s,background .15s,box-shadow .15s}.page-search:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-wash)}.search-icon{width:18px;height:18px;flex:0 0 auto;color:var(--ink-4)}.page-search input{min-width:0;height:40px;flex:1 1;border:0;outline:0;background:transparent;color:var(--ink);font-weight:700}.page-search input::placeholder{color:var(--ink-4)}.search-clear{display:inline-flex;width:28px;height:28px;flex:0 0 auto;align-items:center;justify-content:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-3);padding:0}.search-clear:hover{background:var(--line-soft);color:var(--ink)}.board{display:grid;flex:1 1;grid-template-columns:minmax(340px,.95fr) minmax(420px,1.2fr);grid-gap:12px;gap:12px;padding:12px}.board,.column{min-height:0;overflow:hidden}.column{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.column-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line-soft);padding:12px}.column-title{margin:0;font-size:16px;font-weight:800}.count-pill{border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-family:var(--mono);font-size:12px;font-weight:700;padding:3px 8px}.column-scroll{min-height:0;flex:1 1;overflow:auto;padding:10px}.brand-filter{display:flex;flex:0 0 auto;align-items:flex-start;gap:10px;border-bottom:1px solid var(--line-soft);padding:10px 12px}.brand-filter-label{flex:0 0 auto;color:var(--ink-3);font-size:12px;font-weight:800;padding-top:6px}.brand-filter-options{display:flex;min-width:0;flex:1 1;flex-wrap:wrap;gap:6px}.brand-chip{display:inline-flex;min-height:30px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);padding:5px 9px;font-size:12px;font-weight:800}.brand-chip span{color:var(--ink-3);font-family:var(--mono);font-size:11px}.brand-chip.active{border-color:var(--accent-line);background:var(--accent-wash)}.brand-chip.active,.brand-chip.active span{color:var(--accent-ink)}.toolbar{align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line-soft);padding:10px 12px}.toolbar,.toolbar-actions{display:flex;flex:0 0 auto}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.selection-copy{color:var(--ink-3);font-size:13px;font-weight:700}.btn{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);padding:7px 11px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){border-color:var(--ink-4);color:var(--ink)}.btn:disabled{cursor:not-allowed;opacity:.48}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-ink);color:#fff}.btn-soft{border-color:var(--accent-line);background:var(--accent-wash);color:var(--accent-ink)}.icon-sm{height:16px;width:16px}.empty-state,.error-state{border:1px dashed var(--line);border-radius:var(--r);color:var(--ink-3);font-weight:700;padding:22px 16px;text-align:center}.error-state{border-color:var(--danger);background:var(--danger-wash);color:var(--danger)}.cut-station-page{display:flex;height:100vh;min-height:0;flex-direction:column;background:var(--surface);overflow:auto}.cut-station-header{display:flex;min-width:1120px;min-height:78px;flex:0 0 78px;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line-soft);padding:0 24px}.cut-station-header h1{margin:0;font-family:var(--sans-lat);font-size:28px;font-weight:800;letter-spacing:-.02em}.cut-station-header p{margin:1px 0 0;color:var(--ink-3);font-size:12px;font-weight:700}.cut-station-header-actions{display:flex;width:min(560px,55vw);align-items:center;justify-content:flex-end;gap:10px}.cut-station-search{display:flex;height:44px;min-width:0;flex:1 1;align-items:center;gap:9px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-3);padding:0 11px}.cut-station-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.cut-station-search input{min-width:0;flex:1 1;border:0;outline:0;background:transparent;color:var(--ink)}.cut-station-search input::placeholder{color:var(--ink-4)}.cut-station-search button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-3);padding:0}.cut-station-search button:hover{background:var(--surface-2);color:var(--ink)}.cut-station-workspace{display:grid;min-width:1120px;min-height:0;flex:1 1;grid-template-columns:minmax(340px,.85fr) minmax(660px,2fr);overflow:hidden;border:1px solid var(--line-soft);border-top:0;border-radius:8px 8px 0 0;margin:0 12px}.cut-station-queue{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid var(--line-soft);background:var(--surface)}.cut-station-tabs{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;border-bottom:1px solid var(--line-soft);padding:20px 16px}.cut-station-tabs button{min-height:46px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font-weight:750}.cut-station-tabs button span{margin-left:5px;font-family:var(--sans-lat);font-weight:800}.cut-station-tabs button:hover{border-color:var(--accent-line);color:var(--accent-ink)}.cut-station-tabs button.active{border-color:#00a94f;background:#f4fff8;color:#009944;box-shadow:inset 0 0 0 1px rgb(0 169 79/.08)}.cut-station-list{min-height:0;flex:1 1;overflow-y:auto}.cut-station-row{position:relative;display:flex;width:100%;min-height:172px;flex-direction:column;align-items:stretch;gap:8px;border:0;border-bottom:1px solid var(--line-soft);background:var(--surface);color:var(--ink);padding:20px 20px 18px;text-align:left}.cut-station-row:hover{background:var(--surface-2)}.cut-station-row.active{background:#f7fffa;box-shadow:inset 4px 0 0 #00a94f}.cut-station-row-piece,.cut-station-row-title{display:flex;align-items:center;gap:10px}.cut-station-row-title{justify-content:space-between}.cut-station-row-title strong{font-family:var(--sans-lat);font-size:24px;font-weight:800;letter-spacing:-.02em}.cut-station-row-piece{color:var(--ink-2)}.cut-station-row-piece>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cut-station-detail-piece i,.cut-station-row-piece i{color:var(--ink-4);font-style:normal;padding:0 3px}.cut-station-row>span:not(.cut-station-row-title,.cut-station-row-piece,.cut-station-row-audit,.cut-station-note-flag){color:var(--ink-2)}.cut-station-row-audit{color:var(--ink-3);font-size:12px}.cut-station-status{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:7px;font-size:12px;font-weight:800;line-height:1;padding:7px 9px}.cut-station-status.is-printed{background:var(--warning-wash);color:var(--warning)}.cut-station-status.is-cut{background:var(--success-wash);color:var(--success)}.cut-station-note-flag{position:absolute;right:20px;bottom:18px;color:#d76822;font-size:11px;font-weight:800}.cut-station-garment-set{display:inline-flex;align-items:center}.cut-station-garment-set svg+svg{margin-left:-8px}.cut-station-detail-empty,.cut-station-pane-state{display:grid;min-height:180px;place-items:center;color:var(--ink-3);font-weight:700;padding:24px;text-align:center}.cut-station-pane-state.is-error{color:var(--danger)}.cut-station-detail{min-width:0;min-height:0;overflow-y:auto;background:var(--surface);padding:26px 30px 36px}.cut-station-detail-empty{height:100%}.cut-station-detail-header{display:flex;min-height:190px;align-items:flex-start;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line-soft);padding-bottom:20px}.cut-station-detail-header h2{margin:0 0 4px;font-family:var(--sans-lat);font-size:36px;font-weight:800;letter-spacing:-.04em}.cut-station-detail-header p{margin:5px 0;color:var(--ink-2)}.cut-station-detail-piece{display:flex;align-items:center;gap:9px;font-size:15px}.cut-station-detail-header .cut-station-status{margin-top:6px}.cut-station-detail-audit{color:var(--ink-3)!important;font-size:12px}.cut-station-confirm{display:grid;min-width:210px;justify-items:stretch;grid-gap:8px;gap:8px}.cut-station-confirm button{min-height:52px;border:0;border-radius:8px;background:#00a94f;color:#fff;font-size:15px;font-weight:800;padding:0 24px;box-shadow:0 5px 14px rgb(0 169 79/.14)}.cut-station-confirm button:hover:not(:disabled){background:#008f43}.cut-station-confirm button:disabled{opacity:.55}.cut-station-confirm span{color:var(--ink-3);font-size:11px;text-align:center}.cut-station-note{margin:14px 0 18px;border:1px solid #f1c89a;border-radius:8px;background:#fffaf2;padding:14px 16px}.cut-station-note strong{color:#d76822;font-size:14px}.cut-station-note p{margin:5px 0 0;color:var(--ink-2);white-space:pre-wrap}.cut-station-note.is-empty{border-color:var(--line-soft);background:var(--surface-2)}.cut-station-note.is-empty p,.cut-station-note.is-empty strong{color:var(--ink-3)}.cut-station-action-error{margin:-8px 0 14px;color:var(--danger);font-size:12px;font-weight:800}.cut-station-table-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:8px}.cut-station-table{width:100%;min-width:650px;border-collapse:collapse;table-layout:fixed}.cut-station-table td,.cut-station-table th{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:13px 14px;text-align:left;vertical-align:middle}.cut-station-table td:last-child,.cut-station-table th:last-child{border-right:0}.cut-station-table tbody tr:last-child td{border-bottom:0}.cut-station-table th{height:58px;background:#fcfbf9;font-size:13px;font-weight:800;text-align:center}.cut-station-table th:first-child{width:25%}.cut-station-table th:nth-child(2){width:8%}.cut-station-table th:nth-child(3){width:22%}.cut-station-table th:nth-child(4){width:10%}.cut-station-table th:nth-child(5){width:11%}.cut-station-table th:nth-child(6){width:24%}.cut-station-work-piece{text-align:center!important}.cut-station-work-piece .cut-station-garment-set,.cut-station-work-piece svg{display:flex;margin:0 auto 10px}.cut-station-work-piece span{display:block;font-size:13px}.cut-station-size,.cut-station-total{font-family:var(--sans-lat);font-size:19px;font-weight:800;text-align:center!important}.cut-station-number{font-family:var(--mono);font-weight:700;text-align:center!important}.cut-station-orders{font-family:var(--mono);font-size:12px}.cut-station-orders span{display:inline;margin-right:5px}.print-page{display:flex;height:100vh;min-height:0;flex-direction:column;overflow:auto;background:var(--surface)}.print-page-header{display:flex;min-width:1180px;height:78px;flex:0 0 78px;align-items:center;gap:12px;border-bottom:1px solid var(--line-soft);padding:0 24px}.print-page-header h1{margin:0;font-family:var(--sans-lat);font-size:28px;font-weight:800;letter-spacing:-.02em}.print-demo-badge{border:1px solid var(--warning);border-radius:999px;background:var(--warning-wash);color:var(--warning);font-size:11px;font-weight:800;padding:2px 8px}.print-workspace{display:grid;min-width:1180px;min-height:0;flex:1 1;grid-template-columns:minmax(300px,1.05fr) minmax(300px,.95fr) minmax(560px,2fr);border:1px solid var(--line-soft);border-top:0;border-radius:8px 8px 0 0;margin:0 12px;overflow:hidden}.print-batch-pane,.print-cut-pane,.print-detail-pane{min-width:0;min-height:0;background:var(--surface)}.print-batch-pane,.print-cut-pane{display:flex;flex-direction:column;border-right:1px solid var(--line-soft)}.print-batch-tools{display:grid;flex:0 0 auto;grid-gap:20px;gap:20px;border-bottom:1px solid var(--line-soft);padding:22px 16px 20px}.print-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.print-filter-tabs button{min-height:44px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font-size:14px;font-weight:700}.print-filter-tabs button:hover{border-color:var(--accent-line);color:var(--accent-ink)}.print-filter-tabs button.active{border-color:#00a94f;background:#f4fff8;color:#009944;box-shadow:inset 0 0 0 1px rgb(0 169 79/.08)}.print-search{display:flex;height:44px;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);padding:0 10px}.print-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.print-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.print-search input::placeholder{color:var(--ink-4)}.print-batch-list,.print-cut-list{min-height:0;flex:1 1;overflow-y:auto}.print-batch-row,.print-cut-row{display:flex;width:100%;flex-direction:column;align-items:stretch;border:0;border-bottom:1px solid var(--line-soft);background:var(--surface);color:var(--ink);text-align:left}.print-batch-row{min-height:160px;gap:8px;padding:23px 22px 20px}.print-batch-row:hover,.print-cut-row:hover{background:var(--surface-2)}.print-batch-row.active,.print-cut-row.active{box-shadow:inset 4px 0 0 #00a94f;background:linear-gradient(90deg,#f5fff9 0,var(--surface) 76%)}.print-batch-row-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.print-batch-row-title strong,.print-cut-row>strong{font-family:var(--sans-lat);font-size:20px;font-weight:700}.print-batch-row>span:not(.print-batch-row-title,.print-batch-counts,.print-progress){color:var(--ink-2);font-size:14px}.print-batch-counts{display:flex;align-items:center;gap:10px;font-size:14px;font-style:normal}.print-batch-counts b{color:#00a548;font-weight:700}.print-batch-counts i{color:var(--ink-4);font-style:normal}.print-batch-counts em{color:#e33328;font-style:normal;font-weight:700}.print-progress{display:block;width:100%;height:5px;overflow:hidden;border-radius:999px;background:#e3e5e3}.print-progress>span{display:block;height:100%;border-radius:inherit;background:#00a94f}.print-cut-pane-header{min-height:120px;flex:0 0 auto;border-bottom:1px solid var(--line-soft);padding:26px 22px}.print-cut-pane-header h2{margin:0;font-family:var(--sans-lat);font-size:18px;font-weight:700}.print-cut-pane-header h2 span{padding:0 5px;color:var(--ink-3)}.print-cut-pane-header p{margin:4px 0 0;color:var(--ink-2);font-size:14px}.print-cut-row{min-height:142px;gap:8px;padding:19px 20px}.print-cut-row-piece{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;color:var(--ink-2)}.print-cut-row-piece i,.print-detail-piece i{color:var(--ink-4);font-style:normal;padding:0 3px}.print-cut-row>span:not(.print-cut-row-piece,.print-audit){color:var(--ink-2);font-size:14px}.print-audit{color:var(--ink-2);font-size:13px}.print-status{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:7px;font-size:13px;font-weight:800;line-height:1;padding:9px 11px}.print-status.is-unprinted{background:#fff0ef;color:#ef3028}.print-status.is-printed{background:#eefaf2;color:#00a548}.print-garment-set{display:inline-flex;align-items:center}.print-garment-set svg+svg{margin-left:-8px}.print-detail-pane{overflow-y:auto;padding:25px 30px 36px}.print-detail-empty{display:grid;height:100%;place-items:center;color:var(--ink-3);font-weight:700}.print-detail-header{display:flex;min-height:170px;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line-soft);padding-bottom:20px}.print-detail-header h2{margin:0 0 4px;font-family:var(--sans-lat);font-size:31px;font-weight:800;letter-spacing:-.03em}.print-detail-header p{margin:5px 0;color:var(--ink-2)}.print-detail-piece{display:flex;align-items:center;gap:9px;font-size:15px}.print-detail-header .print-status{margin-top:6px}.print-detail-audit{color:var(--ink-3)!important;font-size:12px}.print-confirm-button{min-height:50px;flex:0 0 auto;border:0;border-radius:8px;background:#00a94f;color:#fff;font-size:15px;font-weight:800;padding:0 22px;box-shadow:0 5px 14px rgb(0 169 79/.16)}.print-confirm-button:hover:not(:disabled){background:#008f43}.print-confirm-button:disabled{cursor:default;opacity:.48}.print-note{border-bottom:1px solid var(--line-soft);padding:12px 0 10px}.print-note-heading{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:16px}.print-note-heading label{font-size:15px;font-weight:700}.print-note-heading span{color:var(--ink-3);font-size:12px}.print-note textarea{width:100%;min-height:44px;border:0;border-radius:var(--r-sm);outline:0;resize:vertical;background:transparent;color:var(--ink);padding:4px 0}.print-note textarea:focus{background:var(--surface-2);box-shadow:0 0 0 2px var(--accent-wash);padding-inline:8px}.print-note textarea:-moz-read-only{resize:none}.print-note textarea:read-only{resize:none}.print-inline-error{margin:4px 0 0;color:var(--danger);font-size:12px;font-weight:700}.print-master-bar{display:flex;min-height:72px;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft);padding:10px 2px 12px}.print-master-heading{display:grid;flex:0 0 auto;grid-gap:1px;gap:1px}.print-master-heading strong{font-size:14px}.print-master-empty,.print-master-heading span{color:var(--ink-3);font-size:11px}.print-master-selection{display:flex;min-width:0;flex:1 1;flex-wrap:wrap;align-items:center;gap:7px}.print-master-chip{display:inline-flex;min-width:0;max-width:230px;min-height:38px;align-items:center;gap:7px;border:1px solid var(--line-soft);border-radius:7px;background:#fcfdfc;padding:5px 6px 5px 7px}.print-detail-master button.is-selected>b,.print-master-chip>b{display:inline-grid;width:21px;height:21px;flex:0 0 21px;place-items:center;border-radius:50%;background:#00a94f;color:#fff;font-family:var(--sans-lat);font-size:12px}.print-master-chip>span{display:grid;min-width:0;flex:1 1}.print-master-chip small,.print-master-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-master-chip strong{font-size:12px}.print-master-chip small{color:var(--ink-3);font-family:var(--mono);font-size:10px}.print-master-chip button{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-3)}.print-master-chip button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.print-master-actions{display:grid;flex:0 0 auto;justify-items:end;grid-gap:2px;gap:2px}.print-master-reset{border:0;background:transparent;color:#1680c4;font-size:12px;font-weight:700;padding:4px 0}.print-master-reset:hover:not(:disabled){color:#0c5f96;text-decoration:underline}.print-master-save-status{min-height:16px;color:var(--ink-3);font-size:11px}.print-master-save-status.is-error{color:var(--danger)}.print-master-error{margin:7px 2px 0}.print-detail-table-wrap{margin-top:8px;overflow-x:auto;border:1px solid var(--line-soft);border-radius:8px}.print-detail-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.print-detail-table td,.print-detail-table th{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:13px 14px;text-align:left;vertical-align:middle}.print-detail-table td:last-child,.print-detail-table th:last-child{border-right:0}.print-detail-table tbody tr:last-child td{border-bottom:0}.print-detail-table th{height:58px;background:#fcfbf9;font-size:13px;font-weight:800;text-align:center}.print-detail-table th:first-child{width:20%}.print-detail-table th:nth-child(2){width:7%}.print-detail-table th:nth-child(3){width:18%}.print-detail-table th:nth-child(4),.print-detail-table th:nth-child(5){width:9%}.print-detail-table th:nth-child(6){width:23%}.print-detail-table th:nth-child(7){width:14%}.print-detail-work-piece{text-align:center!important}.print-detail-work-piece .print-garment-set,.print-detail-work-piece svg{display:flex;margin:0 auto 10px}.print-detail-work-piece span{display:block;font-size:13px}.print-detail-size,.print-detail-total{font-family:var(--sans-lat);font-size:19px;font-weight:800;text-align:center!important}.print-detail-number{font-family:var(--mono);font-weight:700;text-align:center!important}.print-detail-orders{display:flex;flex-wrap:wrap;gap:0 5px;font-family:var(--mono);font-size:12px}.print-detail-table tbody tr.is-master-selected>td:not([rowspan]){background:#f3fcf6}.print-detail-master{padding-inline:6px!important;text-align:center!important}.print-detail-master button{display:inline-flex;min-width:32px;min-height:32px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-3);padding:4px 8px}.print-detail-master button:hover:not(:disabled){border-color:#00a94f;color:#009944}.print-detail-master button.is-selected{border-color:transparent;background:transparent;color:#009944;font-size:11px;font-weight:800;white-space:nowrap}.print-detail-master button:disabled:not(.is-selected){opacity:.34}.print-detail-master button.is-selected:disabled{opacity:1}.print-pane-state{display:grid;min-height:140px;place-items:center;grid-gap:10px;gap:10px;color:var(--ink-3);font-weight:700;padding:20px;text-align:center}.print-pane-state.is-error{color:var(--danger)}.print-pane-state button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);padding:7px 12px}@media (min-width:768px){.app-rail{display:flex}}@media (max-width:980px){.page-search,.topbar-actions{width:100%}.board{grid-template-columns:1fr;overflow:auto}.column{min-height:420px}}.order-card{display:grid;width:100%;grid-template-columns:28px minmax(0,1fr);grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);padding:12px;text-align:left;box-shadow:var(--shadow-sm)}.order-card+.order-card{margin-top:8px}.order-card:hover{border-color:var(--ink-4)}.order-card.selected{border-color:var(--accent);background:var(--accent-wash)}.order-check{display:flex;height:22px;width:22px;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:5px;color:#fff;font-weight:900}.order-card.selected .order-check{border-color:var(--accent);background:var(--accent)}.order-body{min-width:0}.order-main,.order-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:8px}.order-id{color:var(--ink-3);font-size:12px;font-weight:800}.order-customer{overflow:hidden;color:var(--ink);font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.order-meta{margin-top:4px;color:var(--ink-3);font-size:12px;font-weight:700}.order-products{display:block;margin-top:8px;overflow:hidden;color:var(--ink-2);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.cod-pill{border-radius:999px;background:var(--warning-wash);color:var(--warning);padding:2px 7px}.batch-card{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);padding:12px}.batch-card.search-match{border-color:var(--accent-line);background:linear-gradient(90deg,var(--accent-wash),var(--surface) 46%);box-shadow:inset 3px 0 0 var(--accent),var(--shadow-sm)}.batch-card.reprint-required{border-color:var(--warning);box-shadow:inset 4px 0 0 var(--warning),var(--shadow-sm)}.batch-card.print-blocked{border-color:var(--danger);box-shadow:inset 4px 0 0 var(--danger),var(--shadow-sm)}.batch-card+.batch-card{margin-top:10px}.batch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--accent-wash);padding:12px}.batch-id{color:var(--ink);font-size:26px;font-weight:900;line-height:1.1}.batch-created,.batch-meta,.batch-printed{margin-top:4px;color:var(--ink-3);font-size:12px;font-weight:700}.batch-reprint-warning{border:1px solid var(--warning);border-radius:var(--r-sm);background:var(--warning-wash);color:var(--warning)}.batch-print-blocked-warning,.batch-reprint-warning{margin-top:10px;font-size:13px;font-weight:900;padding:9px 10px}.batch-print-blocked-warning{border:1px solid var(--danger);border-radius:var(--r-sm);background:var(--danger-wash);color:var(--danger)}.status-pill{flex:0 0 auto;border-radius:999px;font-size:12px;font-weight:800;padding:3px 8px}.status-pill.created,.status-pill.ready{background:var(--warning-wash);color:var(--warning)}.status-pill.printed{background:var(--success-wash);color:var(--success)}.batch-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.batch-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--ink-3);font-weight:800;margin-top:12px;padding:0}.batch-toggle:hover{color:var(--ink)}.batch-orders{margin-top:10px;border-top:1px solid var(--line-soft)}.batch-order-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;grid-gap:10px;gap:10px;border-bottom:1px solid var(--line-soft);color:var(--ink-2);font-size:13px;font-weight:700;padding:8px 0}.batch-order-row.search-match{border-radius:var(--r-sm)}.batch-order-row.reprint-required,.batch-order-row.search-match{background:var(--warning-wash);box-shadow:inset 3px 0 0 var(--warning);color:var(--ink);padding-left:8px;padding-right:8px}.batch-order-customer{display:grid;grid-gap:2px;gap:2px;min-width:0}.batch-order-customer strong{color:var(--warning);font-size:11px;font-weight:900}.batch-order-row:last-child{border-bottom:0}#print-container{display:none}.label-page{box-sizing:border-box;width:100mm;min-height:150mm;margin:0 auto 10px;border:1px solid #e5e1d8;border-radius:2mm;background:#fff;color:#111;display:flex;flex-direction:column;font-family:var(--sans-thai);font-size:11pt;line-height:1.35;padding:6mm 6mm 5mm;page-break-after:always;break-after:page}.label-page:last-child{break-after:auto;page-break-after:auto}.label-page.label-compact{font-size:9.5pt;padding:5mm}.label-page.label-continuation{padding-top:6mm}.label-continuation-note{border:1px solid #ddd;border-radius:1mm;color:#444;font-size:8.5pt;font-weight:800;margin-bottom:2mm;padding:1mm 1.5mm}.label-brand-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:3mm}.label-brand{color:#111;font-family:var(--sans-lat);font-size:14pt;font-weight:800}.label-brand small{color:#666;display:block;font-size:8pt;font-weight:600;margin-top:1px}.label-order-id{color:#555;font-family:var(--mono);font-size:9pt;text-align:right}.label-order-id strong{color:#111;display:block;font-size:11pt}.label-customer{margin-bottom:2mm}.label-customer-line{font-size:10.5pt;margin-bottom:3px;word-break:break-word}.label-customer-label{color:#666;display:inline-block;font-size:9.5pt;font-weight:700;min-width:58px}.label-note{background:#fff;border:1.5px solid #000;border-radius:1mm;color:#000;font-size:10pt;font-weight:800;margin-top:2mm;padding:1.5mm 2mm;white-space:pre-wrap;word-break:break-word}.label-divider{border:0;border-top:1px dashed #aaa;margin:2mm 0}.label-items-header{color:#444;font-size:9.5pt;font-weight:800;margin-bottom:1mm}.label-items{flex:1 1;font-size:10pt}.label-item-row{margin-bottom:5px}.label-item-name{font-size:10.5pt;font-weight:700}.label-length-badge{display:inline-block;border:1px solid #000;border-radius:.8mm;background:#fff;color:#000;font-size:12pt;font-weight:900;line-height:1.2;margin-right:2mm;padding:0 1.5mm}.label-page.label-compact .label-length-badge{font-size:10.5pt;padding:0 1mm}.label-item-size{color:#333;font-size:9.5pt;margin-left:10px}.label-custom{color:#c8501a;font-weight:800}.label-spacer{flex:1 1;min-height:2mm}.label-cod{border:1.5px solid #e67e22;border-radius:1mm;background:#fff4e6;color:#c8501a;font-family:var(--sans-lat);font-size:15pt;font-weight:800;margin:1mm 0 2mm;padding:2mm 3mm;text-align:center}.label-barcode-wrap{border-top:1px dotted #ccc;margin:1mm 0 0;padding-top:1mm;text-align:center}.label-barcode{display:block;height:11mm;margin:0 auto;max-width:100%}.label-footer{color:#777;font-family:var(--mono);font-size:7.4pt;line-height:1.25;margin-top:1mm;text-align:right}.summary-page{box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#111;font-family:var(--sans-thai);padding:14mm;break-after:page;page-break-after:always}.summary-page:last-child{break-after:auto;page-break-after:auto}.summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;border-bottom:2px solid #111;padding-bottom:5mm}.summary-kicker{color:#555;font-family:var(--sans-lat);font-size:10pt;font-weight:800;text-transform:uppercase}.summary-head h1{margin:1mm 0 0;font-size:24pt}.summary-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:3mm}.summary-lot-badge{border:1px solid #111;border-radius:2mm;font-size:11pt;font-weight:800;line-height:1;padding:2mm 3mm}.summary-batch{font-size:10pt;font-weight:800;text-align:right}.summary-page-number{color:#555;font-size:9pt;margin-top:1mm}.summary-meta{display:flex;flex-wrap:wrap;gap:5mm;color:#444;font-size:10pt;font-weight:700;margin:5mm 0}.summary-continuation-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #111;font-size:10pt;font-weight:900;margin-bottom:5mm;padding-bottom:3mm}.summary-table{width:100%;border-collapse:collapse;font-size:10pt}.summary-table td,.summary-table th{border:1px solid #333;padding:2.4mm;text-align:left;vertical-align:top}.summary-table th{background:#f0eee8;font-weight:900}.summary-product-cell{font-weight:800;width:42%}.summary-piece,.summary-size{white-space:nowrap}.summary-qty{font-family:var(--mono);font-size:12pt;font-weight:900;text-align:right}.summary-orders{width:24%}.cut-print-piece{font-weight:800;width:25%}.cut-print-batch-id{display:block;font-size:12pt;font-weight:900;line-height:1;margin-bottom:1.5mm}.cut-print-size{white-space:nowrap;width:8%}.cut-print-design{width:25%}.cut-print-qty,.cut-print-total{font-family:var(--mono);font-size:12pt;font-weight:900;text-align:right!important;white-space:nowrap;width:8%}.cut-print-table .summary-orders{width:26%}@page{size:A4;margin:0}@media print{body,html{background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}#print-container,#print-container *{visibility:visible!important}#print-container{display:block!important;left:0;margin:0!important;padding:0!important;position:absolute;top:0;width:100%}.label-page{border:0!important;border-radius:0!important;box-shadow:none!important;page-break-after:always;break-after:page;break-inside:avoid;height:auto!important;margin:0!important;min-height:150mm!important;overflow:visible!important;page-break-inside:avoid;width:100mm!important}.label-page.label-compact,.label-page.label-continuation{padding:6mm!important}.label-barcode-wrap,.label-cod,.label-footer,.label-item-row{break-inside:avoid;page-break-inside:avoid}.label-page,.label-page *{color:#000!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.summary-page{box-sizing:border-box;margin:0!important;min-height:297mm;padding:14mm!important;width:210mm}body[data-print-mode=label] .app-main,body[data-print-mode=label] .app-shell{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}body[data-print-mode=label] .app-rail,body[data-print-mode=label] .batch-page{display:none!important}body[data-print-mode=label] #print-container{left:auto;position:static;top:auto;width:auto}body[data-print-mode=summary] .app-main,body[data-print-mode=summary] .app-shell{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}body[data-print-mode=summary] .app-rail,body[data-print-mode=summary] .batch-page{display:none!important}body[data-print-mode=summary] #print-container{left:auto;position:static;top:auto;width:auto}}