:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#23322e;background:#f0f4f3;font-size:16px;line-height:1.5;--green:#11794c;--line:#d7e2dc}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:220px;background:#192622;color:#fff;padding:30px 20px}aside h1{font-size:26px;margin:0}aside p{color:#bacbc3}nav{display:grid;gap:10px;margin-top:35px}nav button{background:transparent;color:#dce8e2;text-align:left;border-color:transparent}nav button.selected{background:#17633f;color:white}.side-note{position:absolute;bottom:20px;font-size:14px}main{margin-left:220px;padding:28px 36px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}h2{font-size:28px;margin:4px 0}h3{margin:0 0 16px;font-size:21px}.eyebrow{color:#537064;font-size:14px}button,input,select,textarea{font:inherit}button{min-height:48px;padding:10px 18px;border:1px solid var(--line);border-radius:9px;background:white;color:inherit;cursor:pointer}button:hover{border-color:var(--green)}button.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bccfc4;border-radius:8px;background:white;color:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #a5d3b7;outline-offset:1px}label{display:grid;gap:6px;font-weight:500}form{display:grid;gap:18px}.card{background:white;padding:24px;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.narrow{max-width:600px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.muted{color:#60736a;font-size:14px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;text-align:left}th{background:#f3f7f4;white-space:nowrap;font-weight:600}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}table.entry{min-width:1380px}.entry input,.entry select{min-width:140px}.entry input[name="quantity"]{min-width:100px;width:110px}.entry input[name="template"]{min-width:270px}.pill{display:inline-block;background:#e3f1e9;color:#176039;padding:4px 9px;border-radius:6px;font-size:14px}.warning{color:#92500d;background:#fff2dd;padding:12px;border-radius:8px}.success{color:#125d39;background:#ddf1e4;padding:14px;border-radius:8px}.error{color:#922d24;background:#ffe9e5;padding:14px;border-radius:8px}#message:not(:empty){margin-bottom:18px}details{margin:12px 0}summary{cursor:pointer;font-weight:600;padding:8px 0}details form{margin-top:16px}.metrics{display:flex;gap:20px;flex-wrap:wrap}.metrics div{padding:12px 18px;background:#f2f7f4;border-radius:9px}.metrics strong{display:block;font-size:26px}.actions{display:flex;gap:10px;justify-content:flex-end}.check{display:flex;align-items:center;gap:8px}.check input{width:22px;min-height:22px}#identity{font-size:14px}#identity button{margin-left:10px}[hidden]{display:none!important}@media(max-width:1000px){aside{width:170px;padding:24px 14px}main{margin-left:170px;padding:24px 20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){aside{position:static;width:100%;padding:16px}aside h1{font-size:22px}aside p,.side-note{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{white-space:nowrap}main{margin:0;padding:16px}.grid{grid-template-columns:1fr}header{align-items:flex-start}h2{font-size:24px}.card{padding:16px}}
.site-footer .site-registration{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;font-size:14px;margin:12px 0}
.site-footer .site-registration a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#537064;text-decoration:none;max-width:100%}
.site-footer .site-registration a:hover{text-decoration:underline;color:var(--green)}
.site-footer .site-registration a:focus-visible{outline:3px solid #a5d3b7;outline-offset:2px;border-radius:3px}
.site-footer .police-registration img{display:block;width:18px;height:20px;flex:none;object-fit:contain}
.site-footer .police-registration span{overflow-wrap:anywhere}
.ds-number-link{color:#1765b8!important;background:transparent!important;border:0!important;padding:8px 6px!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.ds-number-link:focus-visible{outline:2px solid #1765b8;outline-offset:2px}
.ds-packing{padding:12px 16px;max-width:1000px;white-space:normal}
.ds-packing .toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.ds-packing input{max-width:150px}
/* Supply hints stay attached to the selected SKU; list actions remain one row. */
.ds-dialog .ds-entry .ds-supply td{padding:3px 12px;background:#eef6f2;font-size:13px;line-height:1.5;white-space:nowrap}
.ds-supply-content{position:sticky;left:12px;display:flex;align-items:center;gap:10px;width:calc(94vw - 90px);max-width:1300px;height:36px;white-space:nowrap}
.ds-supply-summary{flex:1;min-width:0;overflow-x:auto;white-space:nowrap}
.ds-supply-status{flex:none;color:#537064;font-size:12px}
.ds-supply-content[aria-busy="true"] .ds-supply-summary{color:#60736a}
.ds-dialog .ds-entry .ds-supply button{flex:none;min-height:36px;height:36px;padding:4px 8px;margin:0;border-color:transparent;background:transparent;color:#11794c;font-size:13px;white-space:nowrap}
.ds-dialog .ds-entry .ds-supply button:hover{border-color:#bccfc4}
[data-ready-table] table{min-width:1120px}
[data-ready-table] td{white-space:nowrap}
[data-ready-table] td:nth-last-child(2){min-width:180px;max-width:260px;white-space:normal}
#workspace [data-ready-table] th:last-child,#workspace [data-ready-table] td:last-child{position:sticky;right:0;background:white;z-index:2;min-width:200px;box-shadow:-3px 0 6px #183b3012}
#workspace [data-ready-table] th:last-child{background:#eff4f2}
.ds-ready-compact{display:none}
.sales-pick-sheet{color:#172821}
.sales-pick-sheet table{width:100%;border-collapse:collapse;font-size:12px}
.sales-pick-sheet td,.sales-pick-sheet th{border:1px solid #8d9992;padding:7px;white-space:normal;overflow-wrap:anywhere}
.sales-pick-sheet .pick-handwrite{min-width:70px;height:48px}
@media print{
 html:has(dialog.sales-pick-dialog[open]),body:has(dialog.sales-pick-dialog[open]){background:white!important;margin:0}
 body:has(dialog.sales-pick-dialog[open]) dialog:not(.sales-pick-dialog){display:none!important}
 dialog.sales-pick-dialog{page:sales-picking;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important}
 dialog.sales-pick-dialog::backdrop{background:transparent!important}
 .sales-pick-dialog form{display:block!important;overflow:visible!important}
 .sales-pick-sheet table{font-size:10px;min-width:0!important}
 .sales-pick-sheet thead{display:table-header-group}
 .sales-pick-sheet th,.sales-pick-sheet td{position:static!important}
 .sales-pick-sheet tr{break-inside:avoid}
 .sales-pick-sheet p{font-size:11px}
 .sales-pick-sheet h2{font-size:20px}
}
@page sales-picking{size:A4 landscape;margin:10mm}
@media(max-width:1100px){
 [data-ready-table] table{min-width:680px}
 [data-ready-table] tr>:nth-child(n+2):nth-child(-n+6){display:none}
 [data-ready-table] td:first-child{max-width:260px;white-space:normal;overflow-wrap:anywhere}
 [data-ready-table] td:nth-last-child(2){min-width:140px}
 .ds-ready-compact{display:block;white-space:pre-line;font-size:12px;color:#526b62;margin-top:6px}
 #workspace [data-ready-table] th:last-child,#workspace [data-ready-table] td:last-child{min-width:180px}
}
.ds-progress{font-size:.85rem;color:#526b62;white-space:normal}
[data-ready-state="full"] td:nth-last-child(2){color:#12764c;font-weight:600}
[data-ready-state="partial"] td:nth-last-child(2){color:#946009;font-weight:600}
[data-ready-state="none"] td:nth-last-child(2){color:#6a7370}
[data-ready-notice]{background:#eaf5ef;padding:10px 12px;border-left:3px solid #147b52}
/* Receipt entry: compact text, readable single-line columns, touch-sized controls. */
.finished-acceptance-dialog .table-wrap table{font-size:13px}
.finished-acceptance-dialog .table-wrap th,.finished-acceptance-dialog .table-wrap td{white-space:nowrap;vertical-align:middle;padding:7px 8px}
.finished-acceptance-dialog .table-wrap input,.finished-acceptance-dialog .table-wrap select,.finished-acceptance-dialog .table-wrap button{font-size:13px;min-height:40px;padding:7px 9px}
.finished-acceptance-dialog .table-wrap .combo-wrap{min-width:170px}
.finished-acceptance-dialog .table-wrap select[name=color]{min-width:95px}
.finished-acceptance-dialog .table-wrap select[name=sku_id]{min-width:235px}
.finished-acceptance-dialog .table-wrap select[name=label_id]{min-width:115px}
.finished-acceptance-dialog .table-wrap select[name=inner],.finished-acceptance-dialog .table-wrap select[name=outer]{min-width:115px}
.finished-acceptance-dialog .table-wrap input[name=quantity]{width:110px;min-width:110px}
.finished-acceptance-dialog [data-match]{min-width:150px}
.finished-acceptance-dialog .table-wrap td:last-child button{min-width:60px;white-space:nowrap}
.finished-acceptance-dialog [data-exception]>label:has([name=confirm_exception]){display:flex;align-items:center;gap:10px;min-height:44px}
.finished-acceptance-dialog input[name=confirm_exception]{width:22px;min-height:22px;height:22px;flex:none;margin:0}
@media(pointer:coarse){.finished-acceptance-dialog .table-wrap table,.finished-acceptance-dialog .table-wrap input,.finished-acceptance-dialog .table-wrap select,.finished-acceptance-dialog .table-wrap button{font-size:14px}.finished-acceptance-dialog .table-wrap input,.finished-acceptance-dialog .table-wrap select,.finished-acceptance-dialog .table-wrap button{min-height:44px}}

/* Order BOM review: constrain grid children so only the table scrolls. */
.planning-dialog.bom-refresh-dialog{width:min(1500px,96vw)}
.bom-refresh-dialog form{grid-template-columns:minmax(0,1fr);min-width:0}
.bom-refresh-dialog [data-bom-result],.bom-refresh-dialog .table-wrap{min-width:0;max-width:100%}
.bom-refresh-dialog [data-bom-orders]{max-height:180px;overflow:auto;display:grid;gap:8px}
.bom-refresh-dialog table{font-size:13px}
.bom-refresh-dialog td,.bom-refresh-dialog th{white-space:nowrap;padding:8px;vertical-align:middle}
.bom-refresh-dialog [data-bom-result]>p{font-size:13px}
.bom-refresh-dialog .actions{flex-wrap:wrap}
@media(pointer:coarse){.bom-refresh-dialog table{font-size:14px}.bom-refresh-dialog button{min-height:44px}}

/* H49: compact material processing entry, contained tables on touch screens. */
.binding-tabs {margin:0 0 12px;}
.binding-cut-panel {min-width:0;}
.binding-cut-panel table th,.binding-cut-panel table td {font-size:13px;white-space:nowrap;}
.binding-cut-dialog {width:min(1100px,96vw);}
.binding-cut-dialog form {display:grid;grid-template-columns:minmax(0,1fr);}
.binding-cut-dialog .grid {grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));}
.binding-cut-dialog table {min-width:680px;}
.binding-cut-dialog td,.binding-cut-dialog th {font-size:13px;white-space:nowrap;}
.binding-cut-dialog td:first-child {min-width:320px;}
.binding-cut-dialog td label {margin:0;}
@media(pointer:coarse){.binding-cut-panel table td,.binding-cut-dialog td {font-size:14px;}}
