.invoice-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.invoice-kpis article {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: var(--wsg-radius-panel);
  background: var(--wsg-white);
}
.invoice-kpis span { font-size: 12px; color: var(--wsg-body); }
.invoice-kpis strong {
  color: var(--wsg-ink);
  font: 800 clamp(19px, 1.7vw, 27px)/1.35 var(--wsg-font-display);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.invoice-kpis small { color: var(--wsg-body); font-size: 11px; line-height: 1.5; }
.invoice-kpis strong small { font: 500 16px/1.5 var(--wsg-font-body); }
.invoice-toolbar { flex-wrap: wrap; gap: 12px; }
.invoice-toolbar .search-box { flex: 1; min-width: 220px; }
.invoice-toolbar .search-box input { padding-left: 12px; }
.invoice-scope-note { padding: 12px 20px; color: var(--wsg-body); font-size: 11px; line-height: 1.6; background: var(--wsg-background); }
.invoice-table { min-width: 850px; }
.invoice-table .wrap-cell { max-width: 280px; }
.invoice-status-draft { background: var(--tint); color: var(--wsg-primary); }
.invoice-status-prepared { background: var(--success-bg); color: var(--success); }
.invoice-status-cancelled { background: var(--wsg-background); color: var(--wsg-body); }
.invoice-direction { color: var(--wsg-body); font-size: 12px; }
.invoice-source-summary { padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--wsg-background); margin-bottom: 20px; }
.invoice-source-summary > * { display: block; }
.invoice-source-summary span { color: var(--wsg-body); font-size: 11px; }
.invoice-source-summary strong { margin-top: 6px; font-size: 13px; overflow-wrap: anywhere; }
.invoice-source-summary small { margin-top: 8px; color: var(--wsg-body); font-size: 11px; }
.invoice-source-hint { color: var(--wsg-body); font-size: 12px; line-height: 1.6; margin-bottom: 16px; }
.invoice-page-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.invoice-register-tabs { width: fit-content; margin: -8px 0 24px; }
.invoice-register-tabs .btn { min-width: 112px; }
.correction-editor { min-width: 760px; }
.correction-editor input[data-correction-quantity] { width: 106px; min-height: 40px; border: 1px solid var(--border); border-radius: 8px; padding: 8px; color: var(--wsg-ink); background: var(--wsg-white); font-variant-numeric: tabular-nums; }
.correction-editor input:disabled { color: var(--wsg-body); background: var(--wsg-background); }
.correction-editor input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--wsg-primary); }
.correction-lines { min-width: 800px; }
.correction-reason { color: var(--wsg-ink); font-size: 13px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0 24px; }
.correction-scope { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 12px 20px; border-top: 1px solid var(--border); color: var(--wsg-body); font-size: 12px; }
.correction-scope strong { color: var(--wsg-ink); }
.correction-scope .btn { margin-left: auto; }
.invoice-related-corrections { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.correction-section-heading { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.correction-section-heading h3 { font-size: 15px; }
.invoice-related-corrections table { min-width: 620px; }
.invoice-related-corrections .wrap-cell { max-width: 400px; }
.correction-table .wrap-cell { max-width: 300px; }
.invoice-policy-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.invoice-policy-facts > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.invoice-policy-facts span, .invoice-policy-facts small { font-size: 11px; color: var(--wsg-body); }
.invoice-policy-facts strong { color: var(--wsg-ink); font-size: 15px; }
.invoice-policy-help { padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--wsg-background); font-size: 12px; color: var(--wsg-body); line-height: 1.7; }
.invoice-policy-help p + p { margin-top: 10px; }
.invoice-policy-help strong { color: var(--wsg-ink); }
.invoice-policy-table { min-width: 720px; }
.invoice-policy-table .wrap-cell { max-width: 320px; }
.invoice-source-profile { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; margin: 12px 0 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--wsg-background); }
.invoice-source-profile > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.invoice-source-profile span, .invoice-source-profile small { color: var(--wsg-body); font-size: 11px; }
.invoice-source-profile strong { color: var(--wsg-ink); font-size: 13px; overflow-wrap: anywhere; }
.invoice-source-profile .btn { flex-shrink: 0; }
.invoice-source-quantities { min-width: 760px; }
.invoice-source-quantities .wrap-cell { min-width: 180px; max-width: 300px; }
.invoice-source-quantities th { font-size: 10px; }
.invoice-source-details { margin-bottom: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--wsg-white); overflow: hidden; }
.invoice-source-details summary { padding: 13px 16px; color: var(--wsg-ink); font-size: 12px; font-weight: 600; cursor: pointer; }
.invoice-warning .detail-links { margin-top: 12px; }
.invoice-editor-wrap { margin-top: 12px; }
.invoice-editor { min-width: 700px; }
.invoice-editor th { font-size: 10px; }
.invoice-editor .wrap-cell { min-width: 180px; max-width: 280px; }
.invoice-editor label { cursor: pointer; }
.invoice-editor input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--wsg-primary); }
.invoice-editor input[data-invoice-quantity] { width: 106px; min-height: 40px; border: 1px solid var(--border); border-radius: 8px; padding: 8px; color: var(--wsg-ink); background: var(--wsg-white); font-variant-numeric: tabular-nums; }
.invoice-editor input:disabled { color: var(--wsg-body); background: var(--wsg-background); }
.invoice-editor small { margin-top: 5px; font-size: 10px; color: var(--wsg-body); }
.invoice-line-excluded td:not(:first-child) { color: var(--wsg-body); }
.invoice-selection-summary { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 24px; color: var(--wsg-ink); font-size: 12px; }
.invoice-selection-summary small { color: var(--wsg-body); font-size: 11px; line-height: 1.6; }
.invoice-confirm-summary { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; color: var(--wsg-ink); }
.invoice-confirm-summary strong { overflow-wrap: anywhere; }
.invoice-confirm-summary span { font-size: 13px; color: var(--wsg-body); }
.invoice-consent { margin-top: 20px; align-items: flex-start; }
.invoice-detail-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--border); }
.invoice-detail-summary span { color: var(--wsg-body); font-size: 11px; }
.invoice-detail-summary h3 { margin: 7px 0; font-size: 18px; overflow-wrap: anywhere; }
.invoice-detail-summary p { color: var(--wsg-body); font-size: 12px; overflow-wrap: anywhere; }
.invoice-detail-amount { display: flex; flex-direction: column; gap: 7px; text-align: right; }
.invoice-detail-amount strong { font: 800 25px/1.3 var(--wsg-font-display); font-variant-numeric: tabular-nums; color: var(--wsg-ink); overflow-wrap: anywhere; }
.invoice-detail-amount small { font-size: 10px; color: var(--wsg-body); }
.invoice-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 20px 0; }
.invoice-facts > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.invoice-facts span, .invoice-facts small { color: var(--wsg-body); font-size: 11px; }
.invoice-facts strong { font-size: 12px; }
.invoice-source-link { margin-bottom: 20px; }
.invoice-lines { min-width: 620px; }
.invoice-lines .wrap-cell { max-width: 360px; }
.invoice-note { margin: 20px 0; color: var(--wsg-ink); white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.invoice-prepared-note { color: var(--success); font-size: 12px; margin: 16px 0; line-height: 1.7; }
.invoice-warning { border-left: 3px solid var(--danger); background: var(--danger-bg); border-radius: 8px; padding: 14px 16px; margin: 20px 0 0; color: var(--wsg-ink); font-size: 12px; }
.invoice-warning strong { color: var(--danger); }
.invoice-warning p { margin-top: 6px; line-height: 1.7; }
.invoice-source-changed { display: block; margin-top: 5px; color: var(--danger); font-size: 10px; }
.invoice-history { border: 1px solid var(--border); border-radius: 10px; margin-top: 24px; }
.invoice-history summary { padding: 14px 16px; cursor: pointer; color: var(--wsg-ink); font-size: 13px; font-weight: 600; }
.invoice-history ol { margin: 0; padding: 0 24px 12px 40px; }
.invoice-history li { border-top: 1px solid var(--border); padding: 12px 0; font-size: 12px; color: var(--wsg-ink); }
.invoice-history li p { margin-top: 6px; white-space: pre-wrap; overflow-wrap: anywhere; }
.invoice-history small { display: block; margin-top: 6px; color: var(--wsg-body); font-size: 10px; }
@media (max-width: 1050px) {
  .invoice-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .invoice-kpis article:last-child { grid-column: 1 / -1; }
  .invoice-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .invoice-kpis { gap: 12px; grid-template-columns: minmax(0, 1fr); }
  .invoice-kpis article { padding: 16px; }
  .invoice-kpis article:last-child { grid-column: auto; }
  .invoice-kpis strong { font-size: 22px; }
  .invoice-toolbar .search-box { min-width: 100%; max-width: none; }
  .invoice-toolbar select { max-width: none; flex: 1; min-width: 140px; min-height: 44px; }
  .invoice-detail-summary { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .invoice-detail-amount { text-align: left; }
  .invoice-detail-amount strong { font-size: 23px; }
  .invoice-detail-actions .btn { min-height: 44px; }
  .invoice-scope-note { padding: 12px 16px; }
  .invoice-page-actions { width: 100%; gap: 8px; }
  .invoice-page-actions .btn { min-height: 44px; }
  .invoice-register-tabs { width: 100%; }
  .invoice-register-tabs .btn { min-height: 44px; min-width: 0; flex: 1; }
  .correction-section-heading { align-items: flex-start; flex-direction: column; }
  .correction-section-heading .btn { min-height: 44px; }
  .correction-scope { padding: 12px 16px; }
  .invoice-policy-facts { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .invoice-source-profile { align-items: flex-start; flex-direction: column; }
  .invoice-source-profile .btn { min-height: 44px; }
}
