.parts-invoice-section { padding: 18px 0; border-bottom: 1px solid #d9dde1; margin-bottom: 20px; }
.parts-invoice-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.parts-invoice-heading h2, .parts-invoice-heading h3 { margin: 0; font-size: 20px; }
.parts-invoice-section small, .parts-invoice-dialog small { display: block; color: #616870; margin-top: 5px; overflow-wrap: anywhere; }
.parts-invoice-history-row { display: grid; grid-template-columns: minmax(140px, 1fr) 150px 180px 100px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid #e2e5e8; }
.parts-invoice-history-row > * { min-width: 0; overflow-wrap: anywhere; }
.parts-invoice-status { padding: 5px 8px; border-radius: 4px; font-size: 13px; }
.parts-invoice-status.draft, .parts-invoice-warning { background: #fff1d5; color: #634214; }
.parts-invoice-status.applied, .parts-invoice-result { background: #e8f6ee; color: #185e38; }
.parts-invoice-status.cancelled { background: #eee; color: #4d5054; }
.parts-invoice-dialog { width: min(1280px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); box-sizing: border-box; border: 1px solid #c9ced3; border-radius: 8px; padding: 24px; color: #252a30; background: #fff; overflow-y: auto; letter-spacing: 0; }
.parts-invoice-dialog::backdrop { background: #121719a8; }
.parts-invoice-dialog .parts-invoice-close { width: 40px; height: 40px; padding: 0; font-size: 24px; }
.parts-invoice-meta { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 16px; margin: 20px 0; }
.parts-invoice-dialog label { display: grid; gap: 6px; font-size: 13px; min-width: 0; }
.parts-invoice-dialog input:not([type=checkbox]), .parts-invoice-dialog select { font: inherit; width: 100%; min-width: 0; border: 1px solid #aab1b8; border-radius: 4px; padding: 10px; background: white; color: #252a30; box-sizing: border-box; }
.parts-invoice-dialog input[type=checkbox] { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: #bc5c14; }
.parts-invoice-line { display: grid; grid-template-columns: 28px minmax(130px, 1.5fr) minmax(75px, .7fr) minmax(180px, 1.7fr) minmax(95px, .8fr) minmax(110px, .9fr) 115px; gap: 12px; padding: 18px 0; border-top: 1px solid #dfe3e6; align-items: start; }
.parts-invoice-line.excluded { background: #f4f5f6; color: #697179; }
.parts-invoice-line small { max-height: 4em; overflow: auto; }
.parts-invoice-include { justify-items: center; padding-top: 25px; }
.parts-invoice-line-total { padding-top: 26px; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.parts-invoice-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 260px; overflow: auto; background: #f3f5f7; padding: 12px; font-size: 12px; }
.parts-invoice-source { margin: 24px 0; }
.parts-invoice-footer { display: grid; gap: 18px; border-top: 1px solid #d9dde1; padding-top: 20px; }
.parts-invoice-dialog .parts-invoice-check { display: flex; align-items: center; gap: 10px; }
.parts-invoice-actions { display: flex; gap: 16px; justify-content: flex-end; flex-wrap: wrap; }
.parts-invoice-error { color: #ae2531; overflow-wrap: anywhere; }
.parts-invoice-warning, .parts-invoice-result { padding: 12px; border-radius: 4px; }
.parts-invoice-result { display: grid; gap: 8px; margin: 16px 0; }
.parts-invoice-upload { display: grid; gap: 18px; }
.parts-invoice-dialog[aria-busy=true] { cursor: progress; }
.parts-invoice-dialog .primary-button, .parts-invoice-dialog .secondary-button, .parts-invoice-section button { min-height: 40px; white-space: normal; }
.parts-invoice-dialog a.secondary-button { display: inline-flex; align-items: center; box-sizing: border-box; text-decoration: none; }
@media (max-width: 1000px) {
  .parts-invoice-line { grid-template-columns: 24px minmax(120px, 1fr) minmax(90px, .8fr); }
  .parts-invoice-line > :nth-child(4) { grid-column: 2 / 4; }
  .parts-invoice-line > :nth-child(5) { grid-column: 2; }
  .parts-invoice-line-total { grid-column: 2 / 4; padding: 0; }
  .parts-invoice-meta { grid-template-columns: 1fr 1fr; }
  .parts-invoice-history-row { grid-template-columns: 1fr 130px; }
}
@media (max-width: 520px) {
  .parts-invoice-dialog { width: calc(100vw - 16px); padding: 14px; max-height: calc(100dvh - 16px); }
  .parts-invoice-meta { grid-template-columns: 1fr; }
  .parts-invoice-line { gap: 10px; grid-template-columns: 22px minmax(80px, 1fr) minmax(80px, 1fr); }
  .parts-invoice-line > :nth-child(2) { grid-column: 2 / 4; }
  .parts-invoice-line > :nth-child(3) { grid-column: 2 / 4; }
  .parts-invoice-actions > * { flex: 1 1 100%; }
  .parts-invoice-history-row { grid-template-columns: 1fr; }
}
