/* Standard workspace: preserved business engine, redesigned navigation and lists. */
:root{--ink:#243347;--muted:#708093;--line:#e2e8ef;--blue:#245ab3;--surface:#f4f6f9}body.web-erp{margin:0;background:var(--surface);font:14px 'Segoe UI','Malgun Gothic',sans-serif;color:var(--ink)}body.web-erp>aside,body.web-erp>.workspace,body.web-erp>#boot-status{display:none!important}.web-erp button,.web-erp input,.web-erp select,.web-erp textarea{font:inherit;box-sizing:border-box}.we-shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.we-side{background:#182635;color:#a9b8c8;position:sticky;top:0;height:100vh;padding:28px 16px;box-sizing:border-box;display:flex;flex-direction:column}.we-logo{font-weight:750;font-size:23px;letter-spacing:-1px;color:white;padding:0 12px 26px}.we-logo small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;color:#91a6bc;margin-top:7px}.we-section{font-size:10px;letter-spacing:1.3px;margin:20px 13px 9px;color:#8296ac}.we-nav{width:100%;display:flex;align-items:center;gap:13px;border:0;background:none;color:#b9c7d6;border-radius:6px;padding:13px 14px;text-align:left;cursor:pointer;margin:3px 0}.we-nav.active{background:#2c435b;color:#fff;font-weight:650}.we-nav:hover{background:#24394e}.we-nav i{font-style:normal;width:17px;font-size:16px}.we-motto{margin-top:auto;font-size:11px;line-height:1.9;padding:20px 12px;color:#a4b4c4}.we-main{min-width:0}.we-top{height:62px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:12px;color:var(--muted)}.we-top b{color:var(--ink);font-weight:500}.we-session{display:flex;align-items:center;gap:9px}.we-dot{width:6px;height:6px;background:#528770;border-radius:50%}.we-content{padding:27px 32px 32px;max-width:2000px;margin:auto}.we-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:23px}.we-title h1{font-size:25px;letter-spacing:-.8px;margin:0 0 8px;font-weight:700}.we-title p{color:var(--muted);font-size:13px;margin:0}.we-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.we-btn{border:1px solid #d5dee8;color:#35485e;background:white;padding:9px 14px;border-radius:5px;cursor:pointer;font-weight:550;font-size:12px;white-space:nowrap}.we-btn:hover{background:#f2f5f9}.we-btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.we-btn.danger{color:#a43737}.we-btn:disabled{opacity:.4;cursor:not-allowed}.we-btn:focus-visible,.we-nav:focus-visible{outline:3px solid #84aaf0;outline-offset:2px}.we-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:18px}.we-filter{padding:17px 20px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.we-filter label,.we-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#617287;font-weight:600}.we-filter input,.we-filter select,.we-form input,.we-form select,.we-form textarea{height:36px;border:1px solid #d5dee8;background:white;padding:7px 10px;border-radius:4px;color:#26384e;min-width:120px}.we-filter .we-search{min-width:250px;flex:1;max-width:430px}.we-filter .we-search input{width:100%}.we-tabs{padding:0 20px;display:flex;gap:22px;border-bottom:1px solid var(--line);overflow:auto}.we-tabs button{padding:14px 2px;border:0;border-bottom:2px solid transparent;background:none;font-size:13px;color:var(--muted);white-space:nowrap;cursor:pointer}.we-tabs button.active{border-bottom-color:var(--blue);color:var(--blue);font-weight:650}.we-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.we-stat{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px 21px}.we-stat label{display:block;color:#6b7d90;font-size:12px}.we-stat strong{font-size:27px;font-weight:650;letter-spacing:-.7px;display:block;margin:10px 0 5px;font-variant-numeric:tabular-nums}.we-stat small{font-size:11px;color:var(--muted)}.we-stat.warn strong{color:#ae6530}.we-list-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);gap:12px}.we-list-head b{font-size:14px}.we-list-head span{color:var(--muted);font-size:12px}.we-table-scroll{overflow:auto;max-height:calc(100vh - 370px);min-height:150px}.we-table{border-collapse:separate;border-spacing:0;width:100%;min-width:930px;table-layout:auto}.we-table th{background:#f6f8fa;color:#65768a;font-size:11px;font-weight:600;padding:12px 13px;border:0;border-bottom:1px solid var(--line);text-align:left;position:sticky;top:0;z-index:2;white-space:nowrap}.we-table td{border:0;border-bottom:1px solid #edf0f4;padding:12px 13px;font-size:12px;height:26px;color:#304156}.we-table th:first-child,.we-table td:first-child{position:sticky;left:0;width:20px;background:#fff;z-index:1}.we-table th:first-child{z-index:3;background:#f6f8fa}.we-table tr:hover td{background:#f5f8fc;cursor:pointer}.we-table tr.selected td{background:#edf3ff}.we-table .we-product{min-width:240px;max-width:380px}.we-table strong{font-weight:550;display:block;line-height:1.5}.we-table small{font-size:10px;color:#8592a2;display:block;margin-top:4px}.we-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.we-table th button{border:0;background:none;color:inherit;padding:0;cursor:pointer;font-size:inherit}.we-table input[type=checkbox]{accent-color:var(--blue);width:15px;height:15px}.we-badge{display:inline-flex;padding:4px 7px;border-radius:4px;font-size:10px;line-height:1.2;white-space:nowrap;background:#f0f2f5;color:#728095}.we-badge.good{background:#edf5f0;color:#397552}.we-badge.warn{background:#fff4e8;color:#a36321}.we-badge.blue{background:#edf3ff;color:#3868b1}.we-badge.bad{background:#fceeee;color:#b04747}.we-foot{padding:13px 20px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:12px}.we-foot select{padding:6px;border:1px solid var(--line);border-radius:4px;background:#fff}.we-bulk{background:#edf3ff;padding:10px 20px;display:flex;align-items:center;gap:12px;font-size:12px;color:#245ab3}.we-empty{text-align:center;padding:60px!important;color:var(--muted)!important}.we-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.we-panel-head{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.we-panel-head h2{font-size:15px;margin:0}.we-flow{display:grid;grid-template-columns:65px 1fr 20px 1fr 75px;align-items:center;padding:14px 20px;gap:10px;border-bottom:1px solid #eef1f5;font-size:12px}.we-flow .muted{color:#8b98a8}.we-flow b{font-weight:600}.we-flow span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.we-chart{width:100%;height:190px}.we-chart text{font-size:10px;fill:#8995a3}.we-risk{display:grid;grid-template-columns:1fr 85px;gap:8px;padding:15px 20px;border-bottom:1px solid #eef1f5;font-size:12px}.we-risk small{display:block;color:#8794a4;margin-top:5px}.we-link{border:0;background:none;color:var(--blue);font:inherit;cursor:pointer;text-align:left;padding:0}.we-helper{font-size:11px;color:#8896a7;margin:12px 0;line-height:1.7}.we-drawer{position:fixed;inset:0 0 0 auto;width:min(680px,94vw);max-height:100vh;height:100vh;margin:0;border:0;border-left:1px solid var(--line);padding:0;box-shadow:-12px 0 50px #15293c20;border-radius:0;max-width:none;color:var(--ink)}.we-drawer::backdrop{background:#12263e35}.we-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line)}.we-drawer-head h2{font-size:20px;margin:0 0 8px}.we-drawer-head p{font-size:12px;color:var(--muted);margin:0}.we-drawer-body{padding:24px;overflow:auto;height:calc(100vh - 175px);box-sizing:border-box}.we-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.we-form .wide{grid-column:1/-1}.we-form textarea{height:90px;resize:vertical}.we-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 24px}.we-detail-grid dt{font-size:11px;color:var(--muted);margin-bottom:7px}.we-detail-grid dd{margin:0;font-size:14px;font-weight:500}.we-drawer-footer{position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:16px 24px;display:flex;justify-content:space-between;gap:10px}.we-notice{padding:13px 16px;background:#f6f8fb;border-radius:5px;font-size:12px;color:#66788c;line-height:1.7;margin-bottom:20px}.we-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#20384d;color:white;z-index:9999;border-radius:6px;font-size:13px;box-shadow:0 5px 20px #0002}.web-erp #detail.we-drawer{max-width:none;width:min(780px,96vw);border-radius:0;max-height:100dvh;padding:0}.web-erp #detail::backdrop{background:#12263e40}.web-erp #detail .control{border-radius:5px;padding:9px 12px;font-size:12px}.web-erp #detail input,.web-erp #detail select,.web-erp #detail textarea{border:1px solid #d5dee8;border-radius:4px;padding:8px;color:var(--ink)}.web-erp #detail th{background:#f6f8fa}.web-erp #detail td,.web-erp #detail th{border:0;border-bottom:1px solid var(--line);padding:10px}.web-erp #detail .primary{background:var(--blue);color:#fff}.we-legacy-back{position:fixed;right:20px;top:12px;z-index:9000;background:var(--blue);color:white;border:0;padding:10px 20px;border-radius:5px;cursor:pointer}.we-chart-legend{display:flex;gap:16px;color:var(--muted);font-size:11px;padding:15px 20px 0}.we-chart-legend i{display:inline-block;width:8px;height:8px;background:#527ac0;margin-right:5px}.we-chart-legend .actual{background:#c96c61}.we-error{color:#b34d4d;font-size:12px;line-height:1.6;margin:12px 0}.we-photo{width:100%;height:180px;object-fit:contain;border:1px solid var(--line);border-radius:6px}.we-kpi-number{font-size:20px;font-weight:650}.we-subtitle{font-size:13px;font-weight:650;margin:22px 0 14px}@media(max-width:1100px){.we-shell{grid-template-columns:170px minmax(0,1fr)}.we-side{padding:24px 8px}.we-content{padding:22px 18px}.we-top{padding:0 18px}.we-stats{gap:10px}.we-stat{padding:16px}.we-stat strong{font-size:22px}.we-grid{grid-template-columns:1fr}.we-title{flex-wrap:wrap}.we-filter .we-search{min-width:180px}.we-table-scroll{max-height:65vh}}@media(max-width:760px){.we-shell{grid-template-columns:65px minmax(0,1fr)}.we-nav span,.we-section,.we-motto,.we-logo small{display:none}.we-logo{font-size:13px;padding:0 0 24px}.we-nav{padding:13px}.we-stats{grid-template-columns:1fr 1fr}.we-top{font-size:10px}.we-content{padding:20px 12px}}@media print{.we-side,.we-top,.we-actions,.we-filter,.we-tabs,.we-foot,.we-bulk{display:none!important}.we-shell{display:block}.we-table-scroll{max-height:none;overflow:visible}.we-content{padding:0}.we-table{min-width:0}.we-card{border:0}}

.we-confirm{border:1px solid #dbe2eb;border-radius:12px;padding:28px;max-width:440px;color:#26364b}.we-confirm h2{margin:0 0 16px}.we-confirm p{line-height:1.8;margin:0 0 22px}.we-confirm .we-actions{justify-content:flex-end}.we-confirm::backdrop{background:#15243866}
.we-side{width:100%!important;min-width:0!important}.web-erp .we-btn.primary{background:#245ab3;color:white;border-color:#245ab3}

.order-registration {display:block;max-width:1060px;margin:auto;}
.order-registration #order-customer-kind:empty,.order-registration .order-recent-products:empty {display:none;}
.order-registration>.toolbar {margin-top:16px;}
.order-entry-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:16px 0;}
.order-entry-grid>label,.order-entry-grid>div>label,.order-product-field>label {display:flex;flex-direction:column;gap:7px;}
.order-registration input.control,.order-registration textarea,.order-registration select.control {font-size:14px;max-width:100%;box-sizing:border-box;}
.order-registration input.control {min-height:40px;width:100%;}
.order-registration textarea {min-height:80px;}
.order-registration input:disabled {background:#eeefef;color:#8a8d8c;cursor:not-allowed;}
.order-due-controls {display:flex;flex-wrap:wrap;align-items:center;gap:5px;}
.order-due-controls input.control {flex:1 0 135px;width:135px;}
.order-due-controls .control.active {color:white;background:#292929;border-color:#292929;}
.order-text-button {border:0;background:none;text-decoration:underline;color:#68786f;padding:6px 0;cursor:pointer;font:inherit;font-size:12px;}
.order-recent-products {display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;}
.order-recent-products .mini {flex-basis:100%;}
.order-recent-products button {max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.order-product-meta {background:#f5f7f6;border-radius:4px;padding:10px 14px;margin-top:4px;}
.order-product-meta dl {display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;}
.order-product-meta dl>div {display:flex;gap:8px;}
.order-product-meta dt {color:#7c8580;font-size:12px;}
.order-product-meta dd {margin:0;font-size:13px;}
.order-product-results:empty {display:none;}
.order-product-results {max-height:210px;overflow:auto;border:1px solid #e1e5e3;margin-top:4px;}
.order-product-results button {display:block;text-align:left;width:100%;border:0;border-radius:0;padding:10px;white-space:normal;}
.order-product-results button:hover,.order-product-results button:focus {background:#e8f0eb;}
.order-product-results small {color:#7d8580;}
.order-alias-check {font-size:11px;color:#78817b;display:flex;gap:5px;margin-top:7px;align-items:flex-start;}
.order-alias-check input {width:auto!important;min-height:0!important;margin-top:2px;}
.order-direct-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.order-po-field {margin:15px 0;}
.order-po-field input {max-width:350px!important;}
.order-multiline-scroll {overflow:auto;}
.order-multiline {min-width:1120px;width:100%;table-layout:fixed;}
.order-multiline th:first-child {width:260px;}.order-multiline th:nth-child(3) {width:235px;}.order-multiline th:last-child {width:35px;}
.order-multiline td {vertical-align:top;padding:10px 8px;}
.order-multiline label {font-size:12px;}.order-multiline td>label {display:flex;flex-direction:column;gap:6px;}
.order-registration-warning:not(:empty) {background:#fff5dd;color:#805921;padding:10px;border-left:3px solid #d3a34a;}
.order-registration-success:not(:empty) {background:#eaf3ee;color:#315c43;padding:10px;}
.order-save-toast {position:fixed;bottom:24px;right:24px;max-width:70vw;background:#234e38;color:white;padding:14px 24px;z-index:10000;}
@media(max-width:650px){.order-entry-grid {grid-template-columns:1fr;}.order-registration .order-due-controls {gap:4px;}}
@font-face{font-family:Pretendard;src:url('fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}body.web-erp{font-family:Pretendard,'Malgun Gothic',sans-serif}.web-erp button,.web-erp input,.web-erp select,.web-erp textarea{font-family:inherit}.we-nav span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.we-content input,.we-content select{font:inherit;border:1px solid #d5dee8;border-radius:4px;padding:8px;background:white;color:var(--ink)}[hidden]{display:none!important}.muted{color:var(--muted)}.we-list-flags{display:flex;justify-content:space-between;gap:12px;padding:0 20px 16px;font-size:12px}.we-list-flags label{display:flex;align-items:center;gap:6px}.we-list-head span{margin-left:16px}.we-meter{min-width:100px;font-variant-numeric:tabular-nums;white-space:nowrap}.we-meter>span{font-size:12px;color:#718095}.we-meter b{color:#2f4053;font-weight:650}.we-meter>i{height:4px;display:block;background:#e9edf1;border-radius:2px;overflow:hidden;margin-top:7px}.we-meter em{display:block;height:100%;background:#639a81}.we-meter.shipping em{background:#9782ba}.we-meter.receipt em{background:#87adbf}.we-table.dense td{padding-top:7px;padding-bottom:7px}.we-table .we-product strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.we-foot #page-number{width:54px;min-width:0}.we-table-scroll{max-height:60vh}.we-table td input[type=checkbox]{padding:0}.we-drawer-body{height:auto;flex:1;min-height:0;overflow:auto}.we-drawer[open]{display:flex;flex-direction:column}.we-drawer-head{flex-shrink:0}.we-drawer-head h2{overflow-wrap:anywhere;line-height:1.5}.we-drawer-head button{font-size:22px;padding:2px 10px;background:#243347;color:#fff}.we-drawer-footer{position:static;flex-shrink:0;flex-wrap:wrap}.we-drawer #drawer-discard{margin:0;border-bottom:1px solid var(--line);flex-shrink:0}.we-drawer label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#617287;margin-bottom:12px}.we-drawer input,.we-drawer textarea,.we-drawer select{width:100%;box-sizing:border-box}.we-drawer textarea{min-height:86px;resize:vertical}.we-drawer input[type=checkbox]{width:auto}.we-drawer .order-alias-check{display:flex;flex-direction:row;align-items:center}.we-drawer .toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.we-drawer .toolbar label{flex-direction:row;align-items:center;margin:0}.we-drawer .control{cursor:pointer;background:white;color:var(--ink);border:1px solid #d5dee8;padding:9px 12px;border-radius:4px}.we-drawer .primary{background:#245ab3!important;color:#fff!important}.we-drawer .err{color:#a43737;white-space:pre-line}.we-drawer .order-registration input:disabled{background:#f0f3f5}.we-drawer .order-due-controls{flex-wrap:wrap}.we-drawer .order-due-controls input{min-width:120px}.we-drawer .order-text-button{background:none;border:0;color:#245ab3;padding:6px 0;cursor:pointer}.we-drawer #order-customer-kind{margin:14px 0}.we-drawer .order-recent-products{display:flex;gap:6px;flex-wrap:wrap}.we-drawer .order-recent-products button{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.we-detail-meters{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:16px;margin-bottom:24px}.we-detail-meters h3{font-size:12px;margin:0}.we-detail-meters>p{grid-column:2;margin:-10px 0 0}.we-detail-events{overflow:auto}.we-detail-events .we-table{min-width:450px}.we-amount{padding:24px}.we-amount>strong{font-size:26px}.we-amount>p{color:var(--muted);font-size:12px}.we-amount .we-risk{padding:16px 0;grid-template-columns:1fr 160px}.we-amount .we-risk b{text-align:right}.we-chart{height:auto;min-height:180px}.we-flow>span{min-width:0}.we-edit-form>details{margin-bottom:18px}.we-drawer summary{cursor:pointer;margin:14px 0}.we-btn:disabled{cursor:not-allowed}.web-erp #detail .we-form label input{min-width:0}.we-grid{align-items:start}.we-form{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.we-filter .we-search{min-width:140px}.we-drawer{width:96vw}.we-drawer-body{padding:16px}.we-detail-grid,.we-form,.order-entry-grid{grid-template-columns:1fr}.we-list-head,.we-foot{flex-wrap:wrap}.we-top{gap:10px}.we-stats .we-stat strong{font-size:21px}.we-flow{grid-template-columns:55px 1fr 12px 1fr 58px;padding:12px;gap:6px}.we-stat{padding:12px}.we-title h1{font-size:22px}}
@media print{body.web-erp{background:white}#detail:not([open]){display:none}.we-table td:first-child,.we-table th:first-child{display:none}.we-title p{display:none}}

.we-search-results{border:1px solid #d9dfe4;max-height:230px;overflow:auto;background:white;border-radius:6px}.we-search-results[hidden]{display:none}.we-search-results button{display:block;width:100%;padding:9px 12px;border:0;border-bottom:1px solid #edf0f2;text-align:left;background:white;cursor:pointer}.we-search-results button:hover{background:#eff5fa}

.we-risk>.we-badge{align-self:start;justify-self:end}.orders-table td:nth-child(3){white-space:nowrap}.we-search-results+.we-helper{margin:4px 0 0}

/* UI2 BUILD2 끼워 넣기 */

/* UI2 BUILD3 (Claude): 기준정보 · 거래명세표 · 재고·수불 · 생산 화면 */
.u2-table th:first-child,.u2-table td:first-child{width:auto;white-space:nowrap}
.u2-table td small{white-space:normal}
.u2-pad{padding:16px 20px;margin:0}
.u2-check{flex-direction:row!important;align-items:center;gap:6px!important;font-weight:500!important;white-space:nowrap}
.we-filter .u2-check{height:36px}
.u2-check input{width:auto!important;min-width:0!important;height:auto!important;margin:0}
.u2-muted{color:#8b98a8}
.u2-h3{font-size:14px;margin:22px 0 12px;font-weight:650;color:var(--ink)}
.u2-h4{font-size:13px;margin:4px 0 10px;font-weight:650}
.u2-form{margin-top:8px}
.u2-form.we-form label{margin-bottom:0}
.u2-dtabs{padding:0;margin:0 0 18px;gap:18px}
.u2-dtabs button{padding:10px 2px}
.u2-dscroll{overflow:auto;max-width:100%;margin:0 0 14px}
.u2-dtable{border-collapse:collapse;width:100%;font-size:12px}
.u2-dtable th{text-align:left;font-size:11px;color:#65768a;font-weight:600;white-space:nowrap}
.u2-dtable td{vertical-align:top}
.u2-dtable td small{display:block;color:#8592a2;font-size:10px;margin-top:3px}
.u2-dtable .num{text-align:right;font-variant-numeric:tabular-nums}
.u2-dtable input.control,.u2-dtable select.control{min-width:0}
.u2-num{max-width:110px;text-align:right}
.u2-subrow td{background:#f8fafc}
.u2-inline{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:10px 0}
.u2-inline label{margin-bottom:0!important}
.u2-inline.u2-wrap label{min-width:160px}
.u2-row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.u2-toolbar{margin:10px 0}
.u2-block{margin:0 0 22px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.u2-more{margin:12px 0}
.u2-more>summary{cursor:pointer;color:var(--blue);font-size:12px;font-weight:600;padding:6px 0}
.u2-roles{border:1px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:14px}
.u2-roles legend{font-size:11px;color:#617287;font-weight:600;padding:0 4px}
.u2-roles label{margin-bottom:0!important}
.u2-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:14px}
.u2-photo{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.u2-photo img{display:block;width:100%;height:150px;object-fit:contain;background:#f6f8fa}
.u2-photo figcaption{padding:8px;display:grid;gap:6px}
.u2-photo figcaption small{color:#8592a2;font-size:10px}
.u2-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.u2-click{cursor:pointer}
.u2-click:hover td{background:#f5f8fc}
.u2-line{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 12px;background:#fbfcfd}
.u2-line>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.u2-line>header b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8eef7;color:var(--blue);font-size:11px}
.u2-docform .we-form{gap:12px 16px}
.u2-seg{display:inline-flex;border:1px solid #d5dee8;border-radius:5px;overflow:hidden}
.u2-seg button{border:0;background:#fff;padding:9px 14px;font-size:12px;cursor:pointer;color:#35485e}
.u2-seg button+button{border-left:1px solid #d5dee8}
.u2-seg button.active{background:var(--blue);color:#fff;font-weight:600}
.u2-bar{overflow:visible}
.u2-attach,.u2-paste{margin:0 0 14px;padding:12px 14px;border:1px dashed #c9d5e3;border-radius:8px;background:#fbfcfe}
.u2-attach label,.u2-paste label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:12px}
.u2-attach small,.u2-paste small{font-weight:400;color:#68798c}
.u2-attach ul{margin:8px 0 0;padding-left:18px;font-size:12px}
.u2-paste textarea{font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:pre}
#order-paste-list{margin-left:8px}
.u2-file{display:inline-flex;align-items:center;cursor:pointer}
@media(max-width:760px){.u2-photos{grid-template-columns:1fr 1fr}.u2-seg button{padding:8px 10px}}
@media print{.u2-bar,.u2-more{display:none!important}}

/* UI2 BUILD4 (Claude): 시안 목록 틀 */
.u4-table th:first-child,.u4-table td:first-child{width:20px}
.u4-table td small{white-space:normal}
.u4-sum{margin-left:14px}
.u4-chev{color:#9aa7b5}
.u4-fieldset{border:0;padding:0;margin:0;min-width:0}
.u4-outdate{display:inline-flex;align-items:center;gap:6px;margin:0 6px 0 0}
.u4-outdate input{height:32px;border:1px solid #d5dee8;border-radius:4px;padding:4px 8px}
.u4-check{margin-bottom:14px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.we-confirm{border:0;border-radius:10px;padding:24px;max-width:460px;box-shadow:0 12px 40px #15293c40}
/* 시안에서 실제로 보이는 모양: 주 버튼은 짙은 회색(#292929), 서랍 닫기는 흰 버튼, 서랍 아래는 왼쪽 보조 · 오른쪽 닫기와 주 버튼 */
.web-erp .primary,.web-erp .we-btn.primary{background:#292929!important;border-color:#292929!important;color:#fff!important}
.web-erp .we-drawer-head button,.web-erp .we-drawer-head .we-btn{background:#fff!important;color:#35485e!important;border:1px solid #d5dee8!important;font-size:16px;padding:6px 12px}
.we-drawer-footer{align-items:center}
.u4-left,.u4-right{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.u4-grow{flex:1;min-width:240px}
.u4-table td small,.u2-dtable td code{font-size:11px}

/* BUILD6 (Claude, 2026-11-06): 큰 로딩 · 페이지 칸 */
.u2-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 16px;color:#6b7378;font-size:14px;text-align:center}
.u2-spinner{width:46px;height:46px;border-radius:50%;background:conic-gradient(from 0deg,rgba(41,41,41,0) 0 16%,#292929);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 4px));animation:u2-spin .85s linear infinite}
@keyframes u2-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.u2-spinner{animation-duration:2.4s}}
#pg-number,#page-number{width:9ch;min-width:9ch;text-align:center}
.u4-table td small{display:block;color:#798187;font-size:12px;margin-top:3px}

/* BUILD7 (Claude, 2026-11-08): 명세표 표 입력 · 변경 이력 */
.u2-grid-scroll{overflow-x:auto;border:1px solid #d9dddd;border-radius:6px;margin:8px 0 12px}
.u2-grid-row{display:grid;align-items:stretch;border-bottom:1px solid #e5e7e7;min-width:1060px}
.u2-grid-in{grid-template-columns:36px 110px minmax(150px,1.4fr) minmax(140px,1.2fr) 80px 60px 60px 60px 80px 92px minmax(100px,1fr) 40px}
.u2-grid-out{grid-template-columns:36px minmax(170px,1.5fr) 96px 56px 96px minmax(140px,1.2fr) 80px 60px 60px 60px 90px minmax(100px,1fr) 40px}
.u2-grid-head{background:#f4f5f5;font-size:12px;color:#59636b;font-weight:600}
.u2-grid-head .u2-cell{padding:8px 6px;justify-content:center}
.u2-cell{display:flex;align-items:center;min-width:0;border-right:1px solid #eef0f0}
.u2-cell input{width:100%;min-width:0;border:0;border-radius:0;padding:9px 6px;background:transparent;box-sizing:border-box}
.u2-cell input:focus{outline:2px solid #77988b;outline-offset:-2px;background:#f7faf9}
.u2-cell input[inputmode=numeric],.u2-cell input[inputmode=decimal]{text-align:right;font-variant-numeric:tabular-nums}
.u2-no{justify-content:center;color:#7b8389}
.u2-name,.u2-amt{padding:0 6px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.u2-amt{justify-content:flex-end;font-variant-numeric:tabular-nums}
.u2-wide{grid-column:1/-1;margin:0;padding:2px 8px 4px 44px}
.u2-grid-row .u2-more{border:0;font-size:12px}
.u2-grid-row .u2-more summary{cursor:pointer;color:#6b7378}
.u2-grid-row p.we-helper:empty{display:none}
.u7-confirm{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-weight:600}
.u7-confirm small{font-weight:400;color:#6b7378}
.u7-history{margin-top:20px;border-top:1px solid #e5e7e7;padding-top:12px}

/* 검토 고침: 표 칸 안의 검색 결과 · 안내는 입력 아래로 */
.u2-cell{flex-wrap:wrap}
.u2-cell>.we-search-results,.u2-cell>.we-helper{flex:1 0 100%;margin:0}
.u2-grid-row .u2-cell>.we-helper{display:none}

/* BUILD11 (Claude, 2026-11-08): 발주 관리 하위 메뉴 · 받은/구매 전환 · 구매 발주 표 */
.we-subnav{display:flex;flex-direction:column;margin:-2px 0 6px 34px;border-left:1px solid rgba(255,255,255,.18)}
.we-subnav-item{all:unset;cursor:pointer;padding:6px 12px;font-size:13px;opacity:.75;border-radius:0 6px 6px 0}
.we-subnav-item:hover{opacity:1;background:rgba(255,255,255,.06)}
.we-subnav-item.active{opacity:1;color:#fff;font-weight:700;box-shadow:inset 2px 0 0 currentColor}
.we-subnav-item:focus-visible{outline:2px solid #9fc3b5;outline-offset:-2px}
.u8-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0 0 12px;background:#fff}
.u8-seg a{padding:8px 18px;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;font-weight:600;font-size:14px;border-right:1px solid var(--line)}
.u8-seg a:last-child{border-right:0}
.u8-seg a small{font-weight:400;font-size:11px;color:var(--muted)}
.u8-seg a.active{background:#292929;color:#fff}
.u8-seg a.active small{color:#d6d9dc}
.u8-grid{grid-template-columns:36px minmax(130px,1fr) minmax(150px,1.3fr) 80px 80px 56px 80px 90px 110px minmax(130px,1fr) minmax(100px,1fr) 40px;min-width:1180px}

/* BUILD13: 자재 발주 줄 = 제품명 · 규격 · 수량 · 단가 · 입고일 · 고객 발주 · 비고 (종이 발주서 칸) */
.u8-grid{grid-template-columns:36px minmax(220px,2fr) 100px 90px 90px 130px minmax(170px,1.2fr) minmax(120px,1fr) 40px;min-width:1000px}
.u2-cell.u8-name{flex-direction:column;align-items:stretch;justify-content:center}
.u8-link{display:block;padding:0 6px 4px;font-size:11px;color:var(--muted)}
.u8-link:empty{display:none}
.u8-total{text-align:right;margin:6px 4px 0}
.we-tabs:empty{display:none}

/* BUILD14: 자재 발주 머리 = [발주일] / [공급처 · 공급처 담당자] / [입고처 · 담당] / [비고], 줄 = 제품명 · 규격 · 수량 · 입고일 · 비고 */
#u8-form .we-form>label:last-child{grid-column:1/-1}
.u8-grid{grid-template-columns:36px minmax(240px,2.4fr) 100px 90px 130px minmax(150px,1.4fr) 40px;min-width:700px}

/* BUILD15: 자재 발주 등록 서랍 넓게 · 표 맨 아래 [+] · 저장 오른쪽 */
#detail.we-drawer:has(#u8-form){width:min(1180px,96vw)}
.u8-add-row{display:block;width:100%;min-width:700px;border:0;border-top:1px dashed var(--line);background:#fafbfc;color:var(--muted);font-size:18px;line-height:1;padding:8px 0;cursor:pointer}
.u8-add-row:hover{background:#eef3f8}
.u8-save{justify-content:flex-end}

/* BUILD16: 입고일 = 달력 + ASAP */
.u8-grid{grid-template-columns:36px minmax(240px,2.4fr) 100px 90px 190px minmax(150px,1.4fr) 40px;min-width:760px}
.u8-add-row{min-width:760px}
.u2-cell.u8-due{flex-wrap:nowrap;gap:4px;padding-right:6px}
.u2-cell.u8-due input[type=date]{flex:1 1 auto;min-width:0}
.u2-cell.u8-due input[type=date]:disabled{color:#b3b8bb;background:#f4f6f9}
.u2-cell.u8-due label{display:flex;flex-direction:row;align-items:center;gap:3px;font-size:12px;white-space:nowrap;cursor:pointer;margin:0}
.we-drawer .u2-cell.u8-due label input{width:auto;padding:0;margin:0}

/* BUILD17: 입고일 달력 */
.u8-grid{grid-template-columns:36px minmax(240px,2.4fr) 100px 90px 130px minmax(150px,1.4fr) 40px;min-width:700px}
.u8-add-row{min-width:700px}
.u2-cell.u8-due input{cursor:pointer;background:#fff}

.due-cal{position:fixed;z-index:10000;background:#fff;border:1px solid #cfd5d9;border-radius:8px;box-shadow:0 8px 24px rgba(20,30,40,.18);padding:10px;width:256px;font-size:13px;color:#222;box-sizing:border-box}
.due-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.due-cal button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;border-radius:6px}
.due-cal-head button{width:30px;height:28px;line-height:28px;font-size:18px}
.due-cal-week,.due-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.due-cal-week span{font-size:11px;color:#8a929a;padding:2px 0}
.due-cal-days button{height:30px;line-height:30px}
.due-cal button:hover{background:#eef3f1}
.due-cal-days button.today{font-weight:700;color:#2d6a57;box-shadow:inset 0 0 0 1px #9fbfb3}
.due-cal button.on{background:#292929;color:#fff}
.due-cal-foot{display:flex;justify-content:space-between;border-top:1px solid #eceff1;margin-top:8px;padding-top:8px}
.due-cal-foot button{display:inline-block;padding:6px 14px;border:1px solid #d5dadd;font-weight:600}
.due-cal button:focus-visible{outline:2px solid #77988b;outline-offset:-2px}

/* 고객 발주 등록 (2026-11-09): 머리 2칸 · 품목 표 · 맨 아래 [+] · 저장 오른쪽 */
#contract-order.order-registration{max-width:none;width:100%}
#contract-order .order-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:6px 0 8px}
#contract-order .order-head>label{display:flex;flex-direction:column;gap:6px}
#contract-order .order-head>.order-wide{grid-column:1/-1}
#contract-order .order-lines-scroll{overflow-x:auto;border:1px solid #d9dddd;border-radius:6px;margin:10px 0 6px}
#contract-order table.order-lines{width:100%;min-width:1180px;table-layout:fixed;border-collapse:collapse}
#contract-order .order-lines th{font-size:12px;font-weight:600;text-align:left;padding:8px 6px;background:#f4f6f6;border-bottom:1px solid #e1e5e5;white-space:nowrap}
#contract-order .order-lines td{padding:0;border-bottom:1px solid #eceff0;border-right:1px solid #f0f2f2;vertical-align:top}
#contract-order .order-lines td input{width:100%;box-sizing:border-box;border:0;border-radius:0;background:transparent;padding:9px 6px;min-width:0}
#contract-order .order-lines td input:focus{outline:2px solid #77988b;outline-offset:-2px;background:#f7faf9}
#contract-order .order-lines td input[readonly]{color:#556066;background:#fafbfb}
#contract-order .order-lines td.order-due-cell input{cursor:pointer;background:#fff}
#contract-order .order-lines .order-no{text-align:center;padding:9px 0;color:#6b7378;font-weight:600}
#contract-order .order-lines .order-linked{display:block;padding:0 6px 4px;font-size:11px;color:#5f7f73}
#contract-order .order-lines .order-product-results:not(:empty){display:flex;flex-direction:column;gap:2px;padding:4px}
#contract-order .order-lines .order-product-results button{text-align:left;white-space:normal}
#contract-order .order-lines th:nth-child(1){width:38px}#contract-order .order-lines th:nth-child(2){width:24%}
#contract-order .order-lines th:nth-child(3){width:84px}#contract-order .order-lines th:nth-child(4){width:104px}
#contract-order .order-lines th:nth-child(5){width:96px}#contract-order .order-lines th:nth-child(6){width:118px}
#contract-order .order-lines th:nth-child(10){width:40px}
#contract-order .order-add-row{display:block;width:100%;min-width:1180px;border:0;border-top:1px dashed #cfd5d5;background:#fafbfb;color:#5f7f73;font-size:18px;line-height:1;padding:8px 0;cursor:pointer}
#contract-order .order-add-row:hover{background:#eef4f1}
#contract-order .order-save-bar{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap}
#detail.we-drawer:has(#contract-order){width:min(1320px,96vw)}

/* BUILD20: 입고 · 출고 명세서 등록 — 넓은 서랍, 맨 아래 [+], 저장 오른쪽, 비고 넓게 */
#detail.we-drawer:has(#u2-rform),#detail.we-drawer:has(#u2-sform){width:min(1320px,96vw)}
#u2-rform .we-form>label:last-child{grid-column:1/-1}
#u2-rform .u8-add-row,#u2-sform .u8-add-row{min-width:0}
#u2-rform .u8-save,#u2-sform .u8-save{align-items:center;gap:16px}
.u8-confirm-note{text-align:right;margin:8px 0 0}

/* BUILD21: 로그인 */
.we-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface);padding:24px;box-sizing:border-box}
.we-login-card{width:min(380px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #15293c14;padding:28px;display:flex;flex-direction:column;gap:14px}
.we-login-card .we-logo{color:var(--ink);font-size:22px;font-weight:800;margin-bottom:6px}
.we-login-card .we-logo small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:600;margin-top:4px}
.we-login-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#617287;font-weight:600}
.we-login-card .control{height:40px;padding:0 12px;font-size:14px}
.we-login-card .we-btn{height:42px}
.we-user{font-size:13px;font-weight:600;color:var(--ink);margin:0 4px 0 8px}

/* BUILD22: 입고 · 출고 명세서 필수 칸만 */
.u9r-grid{grid-template-columns:36px minmax(280px,3fr) 110px minmax(200px,2fr) 40px;min-width:640px}
.u9s-grid{grid-template-columns:36px minmax(220px,1.6fr) minmax(240px,2fr) 110px minmax(180px,1.4fr) 40px;min-width:760px}
#u2-rform .we-form>label:last-child{grid-column:1/-1}

/* BUILD26: 생산 작업 서랍 — 저장하면서 바로 확정 */
.u4-postnow{margin-left:auto;margin-right:8px;align-self:center;white-space:nowrap}

/* BUILD27: 날짜 칸(같은 달력) · 저장하지 않은 변경 팝업 */
input[data-cal]{font-variant-numeric:tabular-nums;cursor:pointer}
.we-filter input[data-cal],.u4-outdate input[data-cal]{width:8.5em}
.u2-confirm{border:0;border-radius:10px;padding:22px 24px 18px;min-width:340px;box-shadow:0 12px 40px rgba(20,30,40,.28);color:#1d2939}
.u2-confirm::backdrop{background:rgba(16,24,40,.35)}
.u2-confirm h3{margin:0 0 20px;font-size:16px;font-weight:600}
.u2-confirm-actions{display:flex;justify-content:flex-end;gap:8px}
.u2-confirm .we-btn.danger{border-color:#e4b4b4}

/* BUILD27: 발주 수정 = 등록과 같은 표 (한 줄) */
.order-lines-edit{min-width:1080px}
.order-lines-edit th:nth-child(1){width:26%}

/* BUILD27: 발주 수정도 등록과 같은 모양 (#contract-order 규칙을 #edit-order 에도) */
#edit-order.order-registration{max-width:none;width:100%}
#edit-order .order-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:6px 0 8px}
#edit-order .order-head>label{display:flex;flex-direction:column;gap:6px}
#edit-order .order-head>.order-wide{grid-column:1/-1}
#edit-order .order-lines-scroll{overflow-x:auto;border:1px solid #d9dddd;border-radius:6px;margin:10px 0 6px}
#edit-order table.order-lines{width:100%;min-width:1180px;table-layout:fixed;border-collapse:collapse}
#edit-order .order-lines th{font-size:12px;font-weight:600;text-align:left;padding:8px 6px;background:#f4f6f6;border-bottom:1px solid #e1e5e5;white-space:nowrap}
#edit-order .order-lines td{padding:0;border-bottom:1px solid #eceff0;border-right:1px solid #f0f2f2;vertical-align:top}
#edit-order .order-lines td input{width:100%;box-sizing:border-box;border:0;border-radius:0;background:transparent;padding:9px 6px;min-width:0}
#edit-order .order-lines td input:focus{outline:2px solid #77988b;outline-offset:-2px;background:#f7faf9}
#edit-order .order-lines td input[readonly]{color:#556066;background:#fafbfb}
#edit-order .order-lines td.order-due-cell input{cursor:pointer;background:#fff}
#edit-order .order-lines .order-no{text-align:center;padding:9px 0;color:#6b7378;font-weight:600}
#edit-order .order-lines .order-linked{display:block;padding:0 6px 4px;font-size:11px;color:#5f7f73}
#edit-order .order-lines .order-product-results:not(:empty){display:flex;flex-direction:column;gap:2px;padding:4px}
#edit-order .order-lines .order-product-results button{text-align:left;white-space:normal}
#edit-order .order-lines th:nth-child(1){width:38px}
#edit-order .order-lines th:nth-child(2){width:24%}
#edit-order .order-lines th:nth-child(3){width:84px}
#edit-order .order-lines th:nth-child(4){width:104px}
#edit-order .order-lines th:nth-child(5){width:96px}
#edit-order .order-lines th:nth-child(6){width:118px}
#edit-order .order-lines th:nth-child(10){width:40px}
#edit-order .order-add-row{display:block;width:100%;min-width:1180px;border:0;border-top:1px dashed #cfd5d5;background:#fafbfb;color:#5f7f73;font-size:18px;line-height:1;padding:8px 0;cursor:pointer}
#edit-order .order-add-row:hover{background:#eef4f1}
#edit-order .order-save-bar{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap}
#detail.we-drawer:has(#edit-order){width:min(1320px,96vw)}
/* 발주 수정 표는 No · × 칸이 없다 → 칸 너비를 한 칸씩 당겨 맞춘다 */
#edit-order .order-lines th:nth-child(1){width:26%}
#edit-order .order-lines th:nth-child(2){width:84px}
#edit-order .order-lines th:nth-child(3){width:104px}
#edit-order .order-lines th:nth-child(4){width:96px}
#edit-order .order-lines th:nth-child(5){width:118px}
#edit-order .order-lines th:nth-child(6){width:auto}
#edit-order table.order-lines{min-width:1080px}
#edit-order .order-head input[readonly]{background:#f4f6f6;color:#556066}

/* BUILD27: 검색 결과 한 줄 (이름 · 핵심 · 코드/거래처) */
.u2-hit{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf0f2;background:#fff;padding:7px 10px;cursor:pointer;font:inherit;color:#1d2939;white-space:normal}
.u2-hit:hover,.u2-hit.active{background:#e8f0eb}
.u2-hit.active{box-shadow:inset 3px 0 0 #5f7f73}
.u2-hit-main{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px}
.u2-hit-main b{font-weight:600;font-size:13px}
.u2-hit-tag{margin-left:auto;font-size:12px;font-weight:600;color:#245ab3;white-space:nowrap}
.u2-hit small{display:block;font-size:11.5px;color:#667085;margin-top:2px}
.u2-hit-more{padding:6px 10px;font-size:11.5px;color:#8a6d1f;background:#fffaeb}
.we-search-results{max-height:300px}
.order-product-results{max-height:300px}

/* BUILD27: 자동으로 채워지는 칸(공정 · 규격) — 회색 + '자동' */
:is(#contract-order,#edit-order) .order-lines td:not(.order-due-cell):has(>input[readonly]){position:relative;background:#f3f5f6}
:is(#contract-order,#edit-order) .order-lines td:not(.order-due-cell):has(>input[readonly]) input{color:#344054;font-weight:600;cursor:default;background:transparent}
:is(#contract-order,#edit-order) .order-lines td:not(.order-due-cell):has(>input[readonly])::after{content:'자동';position:absolute;top:2px;right:5px;font-size:10px;color:#98a2a8;pointer-events:none}
/* 제품 코드 꼬리표 */
:is(#contract-order,#edit-order) .order-lines .order-linked{display:inline-block;margin:0 0 7px 6px;padding:1px 7px;border-radius:9px;background:#eef4f1;color:#3d6b5a;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
:is(#contract-order,#edit-order) .order-lines .order-linked:empty{display:none}
/* 발주 상세 = 발주 수정 너비 */
#detail.we-drawer:has(.order-detail-mark),#detail.we-drawer:has(#edit-order){width:min(1080px,96vw)}
#edit-order table.order-lines{min-width:980px}
:is(#contract-order,#edit-order) .order-lines .order-linked{margin-left:11px}
:is(#contract-order,#edit-order) .order-lines td>.we-helper{display:block;padding:0 12px 6px;font-size:11px;color:#8a9399;margin:0}
#edit-order .order-lines th:nth-child(1){width:32%}

/* BUILD27e: '자동' 꼬리표 없앰 — 입력 칸만 상자, 채워지는 칸은 글자 */
:is(#contract-order,#edit-order) .order-lines td:not(.order-due-cell):has(>input[readonly]){background:transparent}
:is(#contract-order,#edit-order) .order-lines td:not(.order-due-cell):has(>input[readonly])::after{content:none}
:is(#contract-order,#edit-order) .order-lines td input{border:1px solid #d3dbe1;border-radius:4px;background:#fff;margin:5px 4px;width:calc(100% - 8px);padding:6px 7px;box-sizing:border-box}
:is(#contract-order,#edit-order) .order-lines td input:focus{outline:2px solid #77988b;outline-offset:-1px;background:#fff}
:is(#contract-order,#edit-order) .order-lines td:not(.order-due-cell)>input[readonly]{border-color:transparent;background:transparent;color:#344054;font-weight:400;padding-left:3px}
:is(#contract-order,#edit-order) .order-lines td.order-due-cell input{cursor:pointer}
/* 코드는 이름 앞 [ ] — 제품 · 출고처 */
:is(#contract-order,#edit-order) .order-lines .cell-row{display:flex;flex-wrap:wrap;align-items:center}
:is(#contract-order,#edit-order) .order-lines .cell-row>input{flex:1 1 0;min-width:0;width:auto}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper{order:-1;display:inline;margin:0 0 0 6px;padding:0;background:none;border-radius:0;font-size:11.5px;font-weight:600;color:#3d6b5a;white-space:nowrap;font-variant-numeric:tabular-nums}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked:not(:empty)::before,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper:not(:empty)::before{content:'['}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked:not(:empty)::after,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper:not(:empty)::after{content:']'}
:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper:empty,:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked:empty{display:none}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-product-results,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-search-results{order:3;flex:1 0 100%}
/* 칸 너비: 출고처를 넓게 */
#contract-order .order-lines th:nth-child(7){width:110px}
#contract-order .order-lines th:nth-child(8){width:200px}
#edit-order .order-lines th:nth-child(1){width:30%}
#edit-order .order-lines th:nth-child(2){width:72px}
#edit-order .order-lines th:nth-child(3){width:80px}
#edit-order .order-lines th:nth-child(4){width:86px}
#edit-order .order-lines th:nth-child(5){width:108px}
#edit-order .order-lines th:nth-child(6){width:104px}
#edit-order .order-lines th:nth-child(7){width:190px}
#edit-order table.order-lines{min-width:1000px}
#edit-order .order-lines th:nth-child(1){width:auto}
#edit-order .order-lines th:nth-child(2){width:64px}
#edit-order .order-lines th:nth-child(3){width:72px}
#edit-order .order-lines th:nth-child(4){width:84px}
#edit-order .order-lines th:nth-child(5){width:104px}
#edit-order .order-lines th:nth-child(6){width:100px}
#edit-order .order-lines th:nth-child(7){width:180px}
#edit-order .order-lines th:nth-child(8){width:110px}
#edit-order table.order-lines{min-width:960px}
#edit-order .order-lines th:nth-child(1){width:36%}
#edit-order .order-lines th:nth-child(2){width:60px}
#edit-order .order-lines th:nth-child(3){width:68px}
#edit-order .order-lines th:nth-child(4){width:76px}
#edit-order .order-lines th:nth-child(5){width:96px}
#edit-order .order-lines th:nth-child(6){width:92px}
#edit-order .order-lines th:nth-child(7){width:170px}
#edit-order .order-lines th:nth-child(8){width:auto}
#edit-order .order-lines th:nth-child(1){width:30%}
#edit-order .order-lines th:nth-child(2){width:76px}
#edit-order .order-lines th:nth-child(3){width:56px}
#edit-order .order-lines th:nth-child(4){width:64px}
#edit-order .order-lines th:nth-child(5){width:84px}
#edit-order .order-lines th:nth-child(6){width:80px}
#edit-order .order-lines th:nth-child(7){width:160px}
#edit-order .order-lines th:nth-child(5){width:94px}
#edit-order .order-lines th:nth-child(1){width:28%}

/* BUILD28: 단가 칸 (2공정은 공정별 + 합계) */
.order-price-cell .price-split{display:flex;flex-direction:column;gap:3px;padding:4px 4px 5px}
.order-price-cell .price-split label{display:flex;align-items:center;gap:4px;font-size:11px;color:#667085;margin:0}
.order-price-cell .price-split label>span{flex:0 0 30px}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split input{margin:0;width:auto;flex:1 1 0;min-width:0;padding:4px 6px}
.order-price-cell .price-sum{align-self:flex-end;font-size:11.5px;font-weight:600;color:#344054;padding-right:2px}
.order-price-cell .price-sum:empty{display:none}
#contract-order .order-lines th:nth-child(6){width:128px}
#contract-order .order-lines th:nth-child(7){width:118px}
#contract-order .order-lines th:nth-child(8){width:110px}
#contract-order .order-lines th:nth-child(9){width:200px}
#contract-order .order-lines th:nth-child(10){width:auto}
#contract-order .order-lines th:nth-child(11){width:40px}
#contract-order table.order-lines,#contract-order .order-add-row{min-width:1270px}
#edit-order .order-lines th:nth-child(1){width:26%}
#edit-order .order-lines th:nth-child(2){width:70px}
#edit-order .order-lines th:nth-child(5){width:118px}
#edit-order .order-lines th:nth-child(6){width:94px}
#edit-order .order-lines th:nth-child(7){width:80px}
#edit-order .order-lines th:nth-child(8){width:160px}
#edit-order .order-lines th:nth-child(9){width:auto}
#edit-order table.order-lines{min-width:1020px}
.u2-price-list{margin:0 0 18px;padding:0;list-style:none}
.u2-price-list li{padding:6px 0;border-bottom:1px solid #eef1f3}
.u2-price-list b{display:block;font-size:13px}
.u2-price-list span{font-size:12.5px;color:#b54708;font-weight:600}
.u2-confirm.u2-price-confirm{max-width:560px}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split label{display:flex;flex-direction:row;align-items:center;gap:4px;margin:0;font-size:11px;color:#667085}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split label>span{flex:0 0 28px;white-space:nowrap}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split input{margin:0;width:auto;flex:1 1 0;min-width:0;padding:4px 6px}
#edit-order .order-lines th:nth-child(1){width:22%}
#edit-order .order-lines th:nth-child(2){width:76px}
#edit-order .order-lines th:nth-child(5){width:110px}
#edit-order .order-lines th:nth-child(7){width:76px}
#edit-order .order-lines th:nth-child(8){width:150px}
.order-price-cell .price-split .price-total{border-top:1px dashed #d9dfe4;padding-top:3px}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split .price-total>span{font-weight:600;color:#344054}
/* BUILD28b: 코드 + 이름 = 한 칸 (코드는 칸 안 왼쪽의 작은 표시) · 단가 칸 좁게 · 첨부는 아래 */
:is(#contract-order,#edit-order) .order-lines .cell-row{position:relative}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper{position:absolute;left:10px;top:21px;transform:translateY(-50%);margin:0;padding:1px 5px;border-radius:3px;background:#eef4f1;color:#3d6b5a;font-size:10.5px;font-weight:600;line-height:1.5;pointer-events:none;z-index:1}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked:not(:empty)::before,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper:not(:empty)::before,:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked:not(:empty)::after,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper:not(:empty)::after{content:none}
:is(#contract-order,#edit-order) .order-lines .cell-row:has(>.order-linked:not(:empty))>input,:is(#contract-order,#edit-order) .order-lines .cell-row:has(>.we-helper:not(:empty))>input{padding-left:68px}
#contract-order .order-lines th:nth-child(6){width:84px}
#edit-order .order-lines th:nth-child(5){width:88px}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split label>span{flex:0 0 24px}
:is(#contract-order,#edit-order) .order-lines .order-price-cell .price-split input{padding:3px 5px}
#contract-order .u2-attach{margin-top:10px}
:is(#contract-order,#edit-order) .order-lines .cell-row>.order-linked,:is(#contract-order,#edit-order) .order-lines .cell-row>.we-helper{top:25px}
#contract-order .order-lines th:nth-child(2){width:22%}
#contract-order .order-lines th:nth-child(4){width:72px}
#contract-order .order-lines th:nth-child(5){width:80px}
#contract-order .order-lines th:nth-child(7){width:104px}
#contract-order .order-lines th:nth-child(8){width:96px}
#contract-order .order-lines th:nth-child(9){width:170px}
/* BUILD28c: 고른 제품은 이름 전부(줄바꿈) — 누르면 다시 검색 칸 */
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen{flex:1 0 100%;display:flex;align-items:flex-start;gap:6px;margin:5px 4px;padding:6px 8px;border:1px solid #d3dbe1;border-radius:4px;background:#fff;cursor:pointer;min-height:32px;box-sizing:border-box;max-width:calc(100% - 8px)}
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen[hidden]{display:none}
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen:hover{border-color:#9fb4aa;background:#fbfdfc}
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen:focus{outline:2px solid #77988b;outline-offset:-1px}
:is(#contract-order,#edit-order) .order-lines .prod-chosen>.order-linked{position:static;transform:none;flex:none;margin:1px 0 0;padding:1px 5px;border-radius:3px;background:#eef4f1;color:#3d6b5a;font-size:10.5px;font-weight:600;line-height:1.5}
:is(#contract-order,#edit-order) .order-lines .prod-chosen>.order-linked::before,:is(#contract-order,#edit-order) .order-lines .prod-chosen>.order-linked::after{content:none}
:is(#contract-order,#edit-order) .order-lines .prod-chosen>.prod-name{font-size:13px;line-height:1.45;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;color:#1d2939}
:is(#contract-order,#edit-order) .order-lines .cell-row>input[hidden]{display:none}
#edit-order .order-lines th:nth-child(8){width:164px}

/* BUILD28d: 품목 줄 = 주요 줄(제품 넓게) + 보조 줄(고객 자재코드 · 출고처 · 비고) */
#contract-order .order-lines th:nth-child(1){width:38px}
#contract-order .order-lines th:nth-child(2){width:auto}
#contract-order .order-lines th:nth-child(3){width:84px}
#contract-order .order-lines th:nth-child(4){width:72px}
#contract-order .order-lines th:nth-child(5){width:80px}
#contract-order .order-lines th:nth-child(6){width:84px}
#contract-order .order-lines th:nth-child(7){width:104px}
#contract-order .order-lines th:nth-child(8){width:40px}
#contract-order table.order-lines,#contract-order .order-add-row{min-width:1000px}
#edit-order .order-lines th:nth-child(1){width:auto}
#edit-order .order-lines th:nth-child(2){width:76px}
#edit-order .order-lines th:nth-child(3){width:56px}
#edit-order .order-lines th:nth-child(4){width:64px}
#edit-order .order-lines th:nth-child(5){width:88px}
#edit-order .order-lines th:nth-child(6){width:96px}
#edit-order table.order-lines{min-width:860px}
:is(#contract-order,#edit-order) .order-lines tr:not(.order-subrow)>td{border-bottom-color:transparent}
:is(#contract-order,#edit-order) .order-lines tr.order-subrow>td{background:#fafbfb;border-bottom:1px solid #e1e6e8;border-right:0;padding:0}
:is(#contract-order,#edit-order) .order-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:5px 6px 7px}
:is(#contract-order,#edit-order) .order-sub label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:11.5px;color:#667085;white-space:nowrap}
:is(#contract-order,#edit-order) .order-sub label>span{flex:none}
:is(#contract-order,#edit-order) .order-lines .order-sub input{margin:0;width:auto;padding:5px 7px}
:is(#contract-order,#edit-order) .order-sub .order-sub-mat input{width:140px}
:is(#contract-order,#edit-order) .order-sub .order-sub-ship .cell-row{width:230px;flex-wrap:wrap}
:is(#contract-order,#edit-order) .order-sub .order-sub-ship .cell-row>input{flex:1 1 0}
:is(#contract-order,#edit-order) .order-lines .order-sub .cell-row>.we-helper{top:14px;left:7px}
:is(#contract-order,#edit-order) .order-sub .order-sub-note{flex:1 1 220px}
:is(#contract-order,#edit-order) .order-sub .order-sub-note input{flex:1 1 0;min-width:0}
:is(#contract-order,#edit-order) .order-sub .we-search-results{position:absolute;top:100%;left:0;right:0;z-index:20;box-shadow:0 8px 20px rgba(20,30,40,.15)}
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen>.prod-name{white-space:normal}
/* BUILD28d: 2공정 공정별 단가는 보조 줄 */
:is(#contract-order,#edit-order) .order-sub .order-sub-split{display:flex;align-items:center;gap:6px 12px;padding-right:10px;border-right:1px solid #e1e6e8}
:is(#contract-order,#edit-order) .order-sub .order-sub-split:empty{display:none}
:is(#contract-order,#edit-order) .order-sub .order-sub-split input{width:64px}
:is(#contract-order,#edit-order) .order-lines .order-sub .cell-row>.we-helper{top:50%}
:is(#contract-order,#edit-order) .order-sub .order-sub-note{flex:1 1 140px}

/* BUILD28e: 발주 등록 · 수정 같은 틀 (표 한 줄) */
#detail.we-drawer:has(.order-detail-mark),#detail.we-drawer:has(#edit-order),#detail.we-drawer:has(#contract-order){width:min(1320px,96vw)}
:is(#contract-order,#edit-order) .order-lines tr>td{border-bottom:1px solid #eceff0}
:is(#contract-order,#edit-order) .order-lines th:nth-child(1){width:38px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(2){width:auto}
:is(#contract-order,#edit-order) .order-lines th:nth-child(3){width:84px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(4){width:64px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(5){width:76px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(6){width:84px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(7){width:104px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(8){width:96px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(9){width:170px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(10){width:110px}
:is(#contract-order,#edit-order) .order-lines th:nth-child(11){width:40px}
:is(#contract-order,#edit-order) table.order-lines,#contract-order .order-add-row{min-width:1240px}
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen{align-items:center;overflow:hidden;flex-wrap:nowrap}
:is(#contract-order,#edit-order) .order-lines .cell-row>.prod-chosen>.prod-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
:is(#contract-order,#edit-order) .order-lines .price-wrap{display:flex;align-items:center}
:is(#contract-order,#edit-order) .order-lines .price-wrap>input{flex:1 1 0;min-width:0;width:auto;margin-right:0}
:is(#contract-order,#edit-order) .order-lines .price-more{flex:none;border:0;background:none;color:#667085;cursor:pointer;padding:0 4px 0 2px;font-size:11px;line-height:1}
:is(#contract-order,#edit-order) .order-lines .price-more:hover{color:#245ab3}
.price-pop{position:fixed;z-index:10000;background:#fff;border:1px solid #cfd5d9;border-radius:8px;box-shadow:0 8px 24px rgba(20,30,40,.18);padding:8px 10px}
.price-pop[hidden]{display:none}
.price-pop .order-sub-split{display:flex;flex-direction:column;gap:6px;border:0;padding:0}
.price-pop label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#475467;white-space:nowrap}
:is(#contract-order,#edit-order) .order-lines .price-pop input{width:84px;margin:0;padding:4px 6px}
#edit-order .order-head .we-helper{font-size:11px;color:#98a2a8}
:is(#contract-order,#edit-order) .order-lines .price-more{font-size:13px;color:#475467;padding:0 5px 0 3px}
:is(#contract-order,#edit-order) .order-lines .price-pop label{flex-direction:row;align-items:center;gap:8px}
:is(#contract-order,#edit-order) .order-lines .price-pop label>span{flex:0 0 52px}

/* BUILD29: 생산 작업 — 불량 유형 · 생산성 */
.u4-defects{display:flex;flex-direction:column;gap:10px}
.u4-dgroup>b{display:block;font-size:12px;color:#344054;margin:0 0 4px}
.u4-dgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px 10px}
.u4-dgrid label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:12px;color:#475467}
.u4-dgrid label>span{flex:0 0 52px;white-space:nowrap}
.u4-dgrid input{width:100%;min-width:0;padding:4px 6px}
#u4-task input[name=bad][readonly]{background:#f4f6f6;color:#344054;font-weight:600}
.u4-src{display:flex;gap:22px;align-items:center;padding:2px 0}
.u4-std{margin:0}
.u4-std b{margin-right:6px;color:#344054}
.u4-checks{border:1px solid #e1e6e8;border-radius:8px;padding:6px 12px;background:#fbfcfc}
.u4-ck{display:grid;grid-template-columns:minmax(120px,170px) 110px minmax(0,1fr);gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #eceff0}
.u4-ck:last-child{border-bottom:0}
.u4-ck-name b{display:block;font-size:12.5px;color:#1d2939}
.u4-ck-name small{display:block;color:#667085;font-size:11.5px}
.u4-ck .control{width:100%;min-width:0;background:#fff}
@media (max-width:640px){.u4-ck{grid-template-columns:1fr 100px}.u4-ck input{grid-column:1/-1}}
#detail .we-notice:empty{display:none}
/* BUILD29b: 불량 유형 묶음을 칸으로 나눔 */
.u4-defects{gap:12px}
.u4-dgroup{border:1px solid #e1e6e8;border-radius:8px;padding:10px 12px 12px;background:#fbfcfc}
.u4-dgroup>b{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#1d2939;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #eceff0}
.u4-dgroup>b::before{content:'';width:4px;height:12px;border-radius:2px;background:#5f7f73}
.u4-dgroup:nth-child(2)>b::before{background:#b54708}
.u4-dgroup:nth-child(3)>b::before{background:#245ab3}
.u4-dgroup input{background:#fff}
/* 시스템 상태 알림 띠 (2026-11-12) — 서버 · DB 문제 때 화면 맨 위에 고정 */
.sys-banner{position:sticky;top:0;z-index:2147483000;margin:0;padding:11px 18px;background:#b42318;color:#fff;font:600 14px/1.45 'Pretendard','Segoe UI','Malgun Gothic',sans-serif;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.25)}body>.sys-banner{position:fixed;left:0;right:0}body.sys-down .we-shell{padding-top:44px}dialog>.sys-banner{margin:0 0 8px}.sys-banner b{font-weight:800}.sys-banner .sys-wait{margin-left:10px;font-weight:500;opacity:.85}.sys-banner.ok{background:#067647}
.env-band{margin:0;padding:7px 16px;background:#fdb022;color:#292929;font:800 14px/1.4 'Pretendard','Segoe UI','Malgun Gothic',sans-serif;text-align:center;letter-spacing:.02em}
