.invoice-section-editor { max-width: 1040px; max-height: 92vh; overflow-y: auto; }
.invoice-section-body { padding: 1rem 1.25rem; }
.invoice-section-editor .modal-close { border: 0; background: none; font-size: 1.5rem; padding: .25rem .5rem; cursor: pointer; }
.invoice-section-toolbar, .invoice-section-heading, .invoice-line-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.invoice-section-toolbar { margin: 1rem 0; }
.invoice-section-card { border: 1px solid #cbd5e1; border-radius: 8px; margin: 1rem 0; overflow: hidden; }
.invoice-section-heading { padding: .8rem 1rem; background: #f1f5f9; }
.invoice-section-heading h3 { flex: 1; margin: 0; overflow-wrap: anywhere; }
.invoice-section-settings { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid #e2e8f0; }
.invoice-section-settings input[type=text] { max-width: 300px; }
.invoice-section-drop { min-height: 70px; padding: .5rem 1rem; }
.invoice-section-drop.is-drop-target { outline: 2px dashed #2563eb; outline-offset: -4px; background: #eff6ff; }
.invoice-section-line { padding: .85rem 0; border-bottom: 1px solid #e2e8f0; }
.invoice-section-line:last-child { border-bottom: 0; }
.invoice-line-top { display: flex; align-items: flex-start; gap: .65rem; }
.invoice-line-title { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.invoice-line-drag { cursor: grab; touch-action: none; border: 0; background: none; color: #64748b; padding: .1rem .3rem; font-size: 1.2rem; }
.invoice-line-actions { margin-top: .6rem; }
.invoice-line-actions select { max-width: 240px; }
.invoice-manual-fields { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(90px, 1fr)); gap: .6rem; margin: .75rem 0; }
.invoice-manual-fields label { font-size: .85rem; }
.invoice-line-detail { color: #475569; font-size: .85rem; margin-top: .25rem; }
.invoice-section-subtotal { background: #f8fafc; padding: .65rem 1rem; text-align: right; font-weight: 600; }
.invoice-section-grand-total { text-align: right; margin: 1rem 0; font-size: 1.15rem; }
.invoice-section-display-header th { background: #f1f5f9; text-align: left; }
.invoice-section-display-subtotal td { background: #f8fafc; }
.invoice-section-add { border-top: 1px solid #cbd5e1; padding-top: 1rem; margin-top: 1rem; }
.invoice-create-section-fields { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem; margin: .65rem 0; }
.invoice-create-section-fields label:first-child { flex: 1; min-width: 180px; }
.invoice-create-section-fields label:last-child { width: 140px; }
.invoice-create-section-fields label { font-size: .85rem; }
.invoice-line-order { display: inline-flex; gap: .4rem; }
.invoice-line-order .btn { width: auto !important; min-width: 40px; }
@media (max-width: 600px) {
  .invoice-section-body { padding: .85rem; }
  .invoice-section-heading h3 { flex-basis: 100%; }
  .invoice-section-heading .btn { width: auto !important; min-width: 44px; padding-left: .65rem !important; padding-right: .65rem !important; }
  .invoice-section-heading .btn:last-child { flex: 1; }
  .invoice-manual-fields { grid-template-columns: 1fr 1fr; }
  .invoice-manual-fields label:first-child { grid-column: 1 / -1; }
  .invoice-section-heading, .invoice-section-settings { padding: .65rem; }
  .invoice-section-drop { padding: .35rem .65rem; }
  .invoice-line-actions select { max-width: 100%; }
  .invoice-section-display-header th { display: block !important; }
  .invoice-section-display-subtotal td { text-align: right !important; }
}
