/* Theme accents deliberately inherit the active shop theme. No business styles
   outside this PC form, and no selectors affecting customer print/PDF templates. */
.modal:has(#invoiceForm.invoice-inline-layout) { padding: 0 !important; overflow: hidden !important; }
#modal:has(#invoiceForm.invoice-inline-layout) { padding: 0 !important; overflow: hidden !important; }
html:has(#modal:not(.hide) #invoiceForm.invoice-inline-layout),
body:has(#modal:not(.hide) #invoiceForm.invoice-inline-layout) { overflow: hidden !important; scrollbar-gutter: auto !important; }
.dialog:has(#invoiceForm.invoice-inline-layout) { width: 100vw !important; height: 100dvh !important; max-width: none !important; max-height: none !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; transform: none !important; overflow: hidden !important; scrollbar-gutter: auto !important; }
.dialog:has(#invoiceForm.invoice-inline-layout) > #modalBody { height: 100% !important; max-height: none !important; overflow: hidden !important; scrollbar-gutter: auto !important; }
.invoice-reference-dialog #invoiceForm.invoice-inline-layout { padding-bottom: 0 !important; }
.invoice-reference-dialog #invoiceForm.invoice-inline-layout .invoice-actions { position: relative !important; inset: auto !important; margin: 0 -12px !important; padding: 10px 16px !important; }
#modal #invoiceForm.invoice-inline-layout {
  --invoice-finance-width: clamp(260px, 20vw, 300px);
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--invoice-finance-width) !important;
  grid-template-rows: 60px auto minmax(0, 1fr) 64px !important;
  gap: 10px !important;
  height: 100dvh !important;
  min-height: 0 !important;
  width: 100% !important;
  padding: 0 12px !important;
  overflow: hidden !important;
  background: var(--store-theme-faint) !important;
}
#modal #invoiceForm.invoice-inline-layout .invoice-title {
  grid-column: 1 / -1 !important; grid-row: 1 !important;
  grid-template-columns: minmax(180px, 1fr) auto minmax(170px, 1fr) !important;
  min-width: 0 !important; min-height: 0 !important; padding: 8px 10px 8px 64px !important;
}
#modal #invoiceForm.invoice-inline-layout .invoice-title h2 { font-size: 22px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-title > div > span:not(.invoice-draft-badge),
#modal #invoiceForm.invoice-inline-layout .order-mode-switch { display: none !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-mode-tabs { width: auto !important; min-width: 0 !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-header-tools { min-width: 0 !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-customer {
  grid-column: 1 / -1 !important; grid-row: 2 !important; padding: 10px 14px !important;
}
#modal #invoiceForm.invoice-inline-layout .invoice-customer > h3 { display: none; }
#modal #invoiceForm.invoice-inline-layout .invoice-customer-grid { display: grid !important; grid-template-columns: 1fr 1fr 1.6fr 1fr !important; gap: 12px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-customer-grid > * { grid-column: auto !important; min-width: 0; }
#modal #invoiceForm.invoice-inline-layout .invoice-customer input { min-height: 38px !important; height: 38px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-products,
#modal #invoiceForm.invoice-inline-layout .toll-processing-section {
  grid-column: 1 !important; grid-row: 3 !important; min-width: 0 !important;
  min-height: 0 !important; height: 100% !important; padding: 10px !important; overflow: hidden !important;
}
#modal #invoiceForm.invoice-inline-layout .invoice-products:not([hidden]) { display: flex !important; flex-direction: column; }
#modal #invoiceForm.invoice-inline-layout .toll-processing-section:not([hidden]) { display: flex !important; flex-direction: column; }
#modal #invoiceForm.invoice-inline-layout .invoice-section-head { flex: 0 0 auto; flex-wrap: wrap; gap: 6px; padding: 0 0 8px !important; margin: 0 !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-section-head h3 { font-size: 16px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-section-tools { gap: 6px; }
#modal #invoiceForm.invoice-inline-layout .invoice-width-reset,
#modal #invoiceForm.invoice-inline-layout .toll-mode-hero,
#modal #invoiceForm.invoice-inline-layout .toll-processing-note,
#modal #invoiceForm.invoice-inline-layout .toll-section-title p { display: none !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-finance-sidebar { grid-column: 2 !important; grid-row: 3 !important; position: static !important; width: auto !important; min-width: 0 !important; min-height: 0; height: 100%; max-height: none !important; overflow: auto !important; padding: 12px 10px 20px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary { padding: 0 !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary > :is(label,div) { display: flex !important; align-items: center; justify-content: space-between; width: 100%; min-width: 0 !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary .invoice-paid-input { width: auto !important; min-width: 0 !important; display: flex; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary .invoice-paid-input button { padding: 5px; min-width: 0; white-space: nowrap; }
#modal #invoiceForm.invoice-inline-layout .invoice-finance-sidebar > * { flex-shrink: 0; min-width: 0; max-width: 100%; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary :is(b,strong),
#modal #invoiceForm.invoice-inline-layout .invoice-estimated-profit strong { overflow-wrap: anywhere; white-space: normal !important; text-align: right; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary > :is(label,div) { min-height: 38px !important; gap: 6px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary input { min-width: 0 !important; width: 100px !important; min-height: 34px !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary .total strong { font-size: 26px !important; color: var(--store-theme) !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-profit-panel { padding: 12px 0 !important; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs { border-top: 1px solid var(--store-theme-border); margin-top: 10px; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs > summary { padding: 12px 0; color: var(--store-theme); cursor: pointer; font-weight: 600; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs :is(.invoice-internal-costs,.invoice-bottom) { display: block !important; margin: 0 !important; padding: 8px 0 !important; width: 100% !important; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs :is(.invoice-internal-grid,.delivery-grid,.business-cost-grid) { grid-template-columns: minmax(0,1fr) !important; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs .form-grid { grid-template-columns: minmax(0,1fr) !important; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs .field { grid-column: auto !important; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs :is(.delivery-box,.business-cost-box) { padding: 10px !important; margin: 0 !important; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs .invoice-internal-head { display: grid !important; grid-template-columns: minmax(0,1fr); }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs .invoice-cost-tabs { flex-wrap: wrap; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs .invoice-internal-head { flex-wrap: wrap; }
#modal #invoiceForm.invoice-inline-layout .inline-more-costs :is(input,select,textarea) { min-width: 0 !important; max-width: 100% !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-actions { grid-column: 1 / -1 !important; grid-row: 4 !important; position: relative !important; inset: auto !important; width: auto !important; min-height: 0 !important; margin: 0 -12px !important; padding: 10px 16px !important; background: white; border-top: 1px solid var(--store-theme-border); z-index: 3; }
#modal #invoiceForm.invoice-inline-layout .invoice-actions .primary { background: var(--store-theme) !important; border-color: var(--store-theme) !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-actions button.invoice-save-primary { background: var(--store-theme) !important; border-color: var(--store-theme) !important; color: white !important; transition: none; }
#modal #invoiceForm.invoice-inline-layout .invoice-mode-tabs .order-mode-option { color: var(--store-theme) !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-mode-tabs .order-mode-option.active { color: white !important; background: var(--store-theme) !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-mode-tabs .order-mode-option :is(span,b) { color: inherit !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-suspend-draft { background: var(--store-theme-faint) !important; color: var(--store-theme) !important; border-color: var(--store-theme-border) !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-section-tools button,
#modal #invoiceForm.invoice-inline-layout .inline-more-costs :is(input,select,textarea,.field label),
#modal #invoiceForm.invoice-inline-layout .invoice-customer label { font-size: var(--pc-font-control, 14px) !important; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary > label > span { flex: 1; min-width: 60px; }
#modal #invoiceForm.invoice-inline-layout .invoice-summary #invoicePaid { width: 76px !important; }
#modal #invoiceForm.invoice-inline-layout :is(input,select,textarea):focus { border-color: var(--store-theme) !important; outline-color: var(--store-theme); }

/* Main rows retain their original TDs and controls; only visual placement changes. */
#modal #invoiceForm.invoice-inline-layout .inline-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:0 0 10px; flex:0 0 auto; }
#modal #invoiceForm.invoice-inline-layout .inline-tools > input { width:260px; flex:1 1 200px; min-height:36px; }
#modal #invoiceForm.invoice-inline-layout .inline-tools label { display:flex; align-items:center; gap:5px; white-space:nowrap; font-size:14px; }
#modal #invoiceForm.invoice-inline-layout .inline-tools input[type=checkbox] { width:16px; height:16px; min-height:16px; accent-color:var(--store-theme); }
#modal #invoiceForm.invoice-inline-layout .inline-count { color:var(--store-theme); font-size:14px; }
#modal #invoiceForm.invoice-inline-layout .inline-list-scroll { flex:1; min-height:0; width:100%; overflow:auto !important; padding:0 0 28px !important; scrollbar-gutter:auto !important; max-height:none !important; }
#modal #invoiceForm.invoice-inline-layout .inline-list-scroll::before { display:none !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table { display:block !important; width:100% !important; min-width:900px !important; table-layout:fixed; border-collapse:separate; border-spacing:0; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > colgroup { display:none !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > :is(thead,tbody) { display:block !important; width:100% !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > thead { position:sticky !important; top:0 !important; z-index:25; background:linear-gradient(var(--store-theme-soft),var(--store-theme-soft)),white !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > thead > tr,
#modal #invoiceForm.invoice-inline-layout .inline-product-row { display:grid !important; grid-template-columns:40px minmax(88px,1fr) minmax(145px,1.6fr) minmax(96px,1fr) 70px 85px 68px minmax(90px,1fr) 108px; align-items:center; min-height:0 !important; height:auto !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > thead > tr > th,
#modal #invoiceForm.invoice-inline-layout .inline-product-row > td { display:block !important; position:static !important; width:auto !important; min-width:0 !important; max-width:none !important; height:auto !important; min-height:0 !important; padding:10px 5px !important; font-size:14px !important; white-space:normal !important; overflow-wrap:anywhere; background:transparent !important; box-shadow:none !important; border:0 !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=index] { grid-column:1; grid-row:1; font-weight:700; color:var(--store-theme); }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=area] { grid-column:2; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=model] { grid-column:3; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=spec] { grid-column:4; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=qty] { grid-column:5; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=price] { grid-column:6; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=discount] { grid-column:7; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=amount] { grid-column:8; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table [data-inline-field=actions] { grid-column:9; grid-row:1; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > thead [data-inline-field=extra],
#modal #invoiceForm.invoice-inline-layout .inline-product-row:not(.inline-more-open) > [data-inline-field=extra] { display:none !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row > [data-inline-field=extra] { grid-column:span 3; grid-row:auto; padding:8px 12px !important; background:var(--store-theme-faint) !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row > [data-inline-field=extra]::before { content:attr(data-inline-label); display:block; margin-bottom:5px; font-size:14px; color:#475467; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row .invoice-row-drag-handle,
#modal #invoiceForm.invoice-inline-layout .inline-item-table .invoice-col-resizer { display:none !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row :is(input:not([type=hidden]),select,textarea) { width:100% !important; min-width:0 !important; max-width:100% !important; min-height:36px !important; height:auto; font-size:14px !important; padding:6px !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row .discount-input { width:100%; display:flex; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row .discount-input input { width:calc(100% - 16px) !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row > [data-inline-field=actions] { display:flex !important; align-items:center; flex-wrap:wrap; gap:3px; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row .invoice-row-actions { display:contents !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row [data-inline-field=actions] .processing-detail-button { display:none !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row [data-inline-field=actions] button { font-size:14px !important; height:auto !important; min-height:30px !important; width:auto !important; flex:0 0 auto !important; padding:3px 5px !important; margin:0 !important; white-space:normal !important; min-width:0 !important; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row > .inline-toggle-cell { grid-column:1 / -1; grid-row:auto; padding:5px 10px !important; border-bottom:1px solid var(--store-theme-border) !important; background:var(--store-theme-faint) !important; }
#modal #invoiceForm.invoice-inline-layout [data-inline-toggle] { display:block; width:100%; text-align:left; background:transparent; border:0; color:var(--store-theme); font-size:14px !important; padding:5px; min-height:30px; }
#modal #invoiceForm.invoice-inline-layout .inline-product-row { background:white !important; border-top:1px solid var(--store-theme-border); }
#modal #invoiceForm.invoice-inline-layout .inline-product-row.inline-even { background:#f6f7f8 !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table .inline-current { background:var(--store-theme-soft) !important; box-shadow:inset 3px 0 var(--store-theme); }
#modal #invoiceForm.invoice-inline-layout .inline-compact .inline-product-row > td { padding-top:4px !important; padding-bottom:4px !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > tbody > .processing-inline-row { display:block !important; width:100%; height:auto !important; padding:8px 10px 16px; border-left:3px solid var(--store-theme); background:var(--store-theme-faint) !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > tbody > .processing-inline-row > td { display:block !important; width:100% !important; min-width:0 !important; height:auto !important; padding:0 !important; position:static !important; }
#modal #invoiceForm.invoice-inline-layout .inline-item-table > tbody > :is(.inline-filtered,.inline-collapsed) { display:none !important; }
#modal #invoiceForm.invoice-inline-layout .processing-inline-row :is(.pou-summary,.processing-inline-card,.pou-flow-host,table) { min-width:0 !important; max-width:100%; }
#modal #invoiceForm.invoice-inline-layout .processing-inline-row :is(th,td) { white-space:normal; overflow-wrap:anywhere; }
#modal #invoiceForm.invoice-inline-layout .pou-summary :is(header,.pou-task-head,.pou-summary-actions) { height:auto !important; min-height:0; flex-wrap:wrap; gap:8px; }
#modal #invoiceForm.invoice-inline-layout .pou-summary { display:block !important; }
#modal #invoiceForm.invoice-inline-layout .pou-summary :is(button,span,small) { font-size:14px; }
#modal #invoiceForm.invoice-inline-layout .pou-summary-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
#modal #invoiceForm.invoice-inline-layout .pou-summary :is(.pou-output-grid,.pou-task-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table > thead > tr,
#modal #invoiceForm.invoice-inline-layout .inline-toll-table .inline-product-row { grid-template-columns:40px minmax(200px,2fr) minmax(150px,1fr) minmax(100px,1fr) 120px; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table [data-inline-field=model] { grid-column:2; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table [data-inline-field=spec] { grid-column:3; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table [data-inline-field=qty] { grid-column:4; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table [data-inline-field=actions] { grid-column:5; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table > thead > tr::before { content:'序号'; font-size:14px; padding:10px 3px; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table .inline-product-row::before { content:attr(data-inline-index); grid-column:1; grid-row:1; color:var(--store-theme); font-weight:700; padding:10px; }
#modal #invoiceForm.invoice-inline-layout .inline-toll-table .inline-product-row > [data-inline-field=extra] { grid-column:1 / -1; }
#modal #invoiceForm.invoice-inline-layout .toll-operation-result { width:100% !important; min-width:0 !important; }
#modal #invoiceForm.invoice-inline-layout .toll-result-line-formal { display:flex; flex-wrap:wrap; gap:6px; }
@media (max-width:1199px) {
  #modal #invoiceForm.invoice-inline-layout .invoice-customer-grid { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:700px) {
  #modal #invoiceForm.invoice-inline-layout { grid-template-columns:minmax(0,1fr) !important; height:100dvh !important; grid-template-rows:60px auto minmax(150px,1fr) 160px 64px !important; }
  #modal #invoiceForm.invoice-inline-layout .invoice-finance-sidebar { grid-column:1 !important; grid-row:4 !important; }
  #modal #invoiceForm.invoice-inline-layout .invoice-actions { grid-row:5 !important; }
}
