.sales-order-preview-pages { min-width: 0; padding: 0 0 18px; display: grid; justify-items: center; gap: 22px; overflow-x: hidden; background: #e9edf2; }
.sales-order-print-page { width: 1240px; min-width: 1240px; max-width: 1240px; height: 990px; min-height: 990px; max-height: 990px; margin: 0 auto; padding: 28px 20px; box-sizing: border-box; overflow: hidden; display: flex; flex-direction: column; color: #111; background: #fff; box-shadow: 0 2px 9px rgba(24, 38, 58, .14); font-family: "SimSun", "NSimSun", serif; }
.sales-order-print-head { position: relative; height: 128px; flex: 0 0 128px; }
.sales-order-brand-logo { position: absolute; top: 0; left: 38px; width: 156px; height: 58px; object-fit: contain; }
.sales-order-preview-title { display: grid; place-items: center; gap: 0; line-height: 1.05; }
.sales-order-preview-title span { font-size: 28px; letter-spacing: .05em; }
.sales-order-preview-title strong { font-size: 38px; font-weight: 400; letter-spacing: .12em; }
.sales-order-preview-meta { position: absolute; right: 12px; bottom: 7px; left: 12px; display: grid; grid-template-columns: 1fr 1fr; font-size: 20px; }
.sales-order-preview-meta span:last-child { text-align: center; }
.sales-order-preview-meta b { margin-left: 20px; font-weight: 400; }
.sales-order-preview-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; color: #111; font: 20px/1.32 "SimSun", "NSimSun", serif; }
.sales-order-preview-table col:nth-child(1) { width: 3%; }
.sales-order-preview-table col:nth-child(2) { width: 8%; }
.sales-order-preview-table col:nth-child(3) { width: 9%; }
.sales-order-preview-table col:nth-child(4) { width: 25%; }
.sales-order-preview-table col:nth-child(5) { width: 5%; }
.sales-order-preview-table col:nth-child(6) { width: 7%; }
.sales-order-preview-table col:nth-child(7) { width: 10%; }
.sales-order-preview-table col:nth-child(8) { width: 22%; }
.sales-order-preview-table col:nth-child(9) { width: 11%; }
.sales-order-preview-table th,
.sales-order-preview-table td { padding: 7px 6px; border: 1px solid #111; text-align: center; vertical-align: middle; white-space: normal; }
.sales-order-preview-table td { font-size: inherit; }
.sales-order-preview-table th { height: 54px; background: #fff; font-size: 20px; font-weight: 400; line-height: 1.05; }
.sales-order-preview-table tbody tr { height: 220px; }
.sales-order-preview-table .sales-order-product-name,
.sales-order-preview-table .sales-order-instructions { text-align: left; line-height: 1.35; overflow-wrap: anywhere; }
.sales-order-preview-table .sales-order-instructions { white-space: pre-line; }
.sales-order-image-cell { padding: 5px !important; }
.sales-order-product-image { width: 100%; height: 202px; display: block; margin: auto; object-fit: contain; background: #fff; }
.sales-order-placeholder-row td { color: transparent; }
.sales-order-message-row td { color: #68778e; }
.sales-order-preview-foot { min-height: 88px; padding: 16px 30px 0; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: start; gap: 34px; font-size: 20px; }
.sales-order-preview-foot b { margin-left: 38px; font-weight: 400; }
.sales-order-auditor-signature { width: 105px; height: 66px; margin: -10px 0 -20px 34px; display: inline-block; object-fit: contain; vertical-align: middle; }
.sales-order-preview-pages[data-sales-order-fit="phone-proportional"] { justify-items: start; gap: 12px; padding-bottom: 8px; overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; }

.s9-sales-order-dialog,
.s9-sales-order-dialog * { box-sizing:border-box; }
.s9-sales-order-dialog { position:fixed; inset:0 0 0 auto; width:calc(100vw - 8px); max-width:none; height:100dvh; max-height:none; margin:0 0 0 auto; padding:0; border:0; border-radius:0; overflow:hidden; color:#172236; background:#f5f7fb; box-shadow:-12px 0 45px rgba(0,0,0,.18); font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; }
.s9-sales-order-dialog::backdrop { background:rgba(13,29,52,.45); }
.s9-sales-order-dialog[data-bounded] { right:auto; bottom:auto; margin:0; }
.s9-sales-order-dialog[data-bounded]::backdrop { background:transparent; }
.s9-sales-order-dialog[data-bounded="workspace"] { box-shadow:none; }
.s9-sales-order-dialog-shell { height:100%; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr); background:#f5f7fb; }
.s9-sales-order-dialog-head { min-height:42px; padding:2px 10px; display:flex; align-items:center; justify-content:flex-end; border-bottom:0; color:#172236; background:#fff; }
.s9-sales-order-dialog-head h2 { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.s9-sales-order-dialog-head button[data-sales-order-dialog-close] { width:38px; min-width:38px; height:38px; min-height:38px; padding:1px 6px; border:0; border-radius:0; color:#64748b; background:transparent; font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; font-size:29px; line-height:normal; cursor:pointer; }
.s9-sales-order-dialog-head button[data-sales-order-dialog-close]:hover { color:#64748b; background:transparent; }
.s9-sales-order-dialog-head button[data-sales-order-dialog-close]:focus-visible { outline:2px solid #526fba; outline-offset:0; }
.s9-sales-order-dialog-body { min-width:0; min-height:0; padding:16px 8px; display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; background:transparent; }
.s9-sales-order-dialog-toolbar { min-height:44px; padding:6px 4px 8px; display:flex; align-items:center; justify-content:flex-end; gap:12px; background:transparent; }
.s9-sales-order-dialog-toolbar button { width:auto; min-width:52px; min-height:36px; padding:0 10px; border:1px solid #aac0e5; border-radius:6px; color:#31569f; background:#fff; font:inherit; font-weight:700; white-space:nowrap; cursor:pointer; }
.s9-sales-order-dialog-toolbar button:hover { color:#31569f; border-color:#aac0e5; background:#fff; }
.s9-sales-order-dialog-toolbar button:disabled { cursor:wait; opacity:.65; }
.s9-sales-order-dialog-status { min-width:0; overflow:hidden; color:#66758d; font-size:12px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.s9-sales-order-dialog-preview { min-width:0; min-height:0; overflow:auto; background:#e9edf2; overscroll-behavior:contain; }
body.mobile-preview.mobile-phone .s9-sales-order-dialog,
html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog { width:100vw; height:100dvh; }
body.mobile-preview.mobile-tablet .s9-sales-order-dialog { width:min(1120px,94vw); }
body.mobile-preview .s9-sales-order-dialog-shell,
html.mobile-layout .s9-sales-order-dialog-shell { grid-template-rows:minmax(0,1fr) 96px; }
body.mobile-preview .s9-sales-order-dialog-head,
html.mobile-layout .s9-sales-order-dialog-head { grid-row:2; min-height:96px; padding:4px 6px max(18px,calc(5px + env(safe-area-inset-bottom))); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-content:end; gap:5px; border-top:1px solid #cbd8eb; background:rgba(255,255,255,.98); box-shadow:0 -6px 18px rgba(29,52,86,.12); }
body.mobile-preview .s9-sales-order-dialog-head button[data-sales-order-dialog-close],
html.mobile-layout .s9-sales-order-dialog-head button[data-sales-order-dialog-close] { grid-column:4; width:100%; min-width:0; height:34px; min-height:34px; padding:0 8px; border:1px solid #c4d1e5; border-radius:5px; color:#31569f; background:#f5f8fc; font-size:0; font-weight:700; }
body.mobile-preview .s9-sales-order-dialog-head button[data-sales-order-dialog-close]::before,
html.mobile-layout .s9-sales-order-dialog-head button[data-sales-order-dialog-close]::before { content:"返回"; font-size:11px; }
body.mobile-preview .s9-sales-order-dialog-body,
html.mobile-layout .s9-sales-order-dialog-body { grid-row:1; }
body.mobile-preview .s9-sales-order-dialog-preview,
html.mobile-layout .s9-sales-order-dialog-preview { width:100%; background:transparent; }
body.mobile-preview.mobile-tablet .s9-sales-order-dialog-body { padding:6px; }
body.mobile-preview.mobile-phone .s9-sales-order-dialog-body,
html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog-body { padding:4px 4px 2px; }
body.mobile-preview.mobile-phone .s9-sales-order-dialog-shell,
html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog-shell { grid-template-rows:minmax(0,1fr) 90px; }
body.mobile-preview.mobile-phone .s9-sales-order-dialog-head,
html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog-head { min-height:90px; }
@media (min-width:681px) and (max-width:1366px) and (orientation:landscape) {
  body.mobile-preview.mobile-tablet .s9-sales-order-dialog { width:100vw; max-width:none; margin-left:0; }
  body.mobile-preview.mobile-phone .s9-sales-order-dialog-shell,
  html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog-shell { grid-template-rows:minmax(0,1fr) 96px; }
  body.mobile-preview.mobile-phone .s9-sales-order-dialog-head,
  html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog-head { min-height:96px; }
  body.mobile-preview.mobile-phone .s9-sales-order-dialog-body,
  html.mobile-layout:not(.tablet-layout) .s9-sales-order-dialog-body { padding:6px; }
}
