
.invoice-editor .invoice-item-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 90px 180px 70px;
  gap:8px;
  margin-bottom:8px;
}
.invoice-item-row button{border:1px solid #c9c2b7;background:#fff}

.invoice-document{
  width:min(100%,194mm);
  max-width:194mm;
  min-height:277mm;
  margin:14px auto;
  background:#fff;
  border:1px solid #d8d1c7;
  padding:10mm 11mm 10mm;
  color:#111;
  font-family:'Abar Low','Abar',Tahoma,sans-serif;
  font-size:10px;
  line-height:1.45;
  box-sizing:border-box;
  font-variant-numeric:normal;
  display:block;
}
.invoice-document *{box-sizing:border-box}
.invoice-document .fa-number,
.invoice-document .money,
.invoice-document .num,
.invoice-document dd,
.invoice-document b,
.invoice-document strong{
  font-family:'Abar Low','Abar',Tahoma,sans-serif!important;
  font-feature-settings:"ss01" 1;
}
.invoice-doc-head{
  display:grid;
  grid-template-columns:48mm 1fr 47mm;
  align-items:start;
  gap:3mm;
  padding-bottom:4mm;
  border-bottom:1.5px solid #6f1d20;
}
.invoice-head-logo{display:flex;align-items:flex-start;justify-content:flex-start}
.invoice-head-logo img{width:27mm;height:auto;object-fit:contain}
.invoice-doc-title{text-align:center;padding-top:1mm}
.invoice-doc-title h1{margin:0;font-size:21px;line-height:1.25;font-weight:900}
.invoice-head-meta{
  margin:0;
  display:grid;
  grid-template-columns:max-content max-content;
  justify-content:start;
  gap:1.2mm 2.2mm;
  font-size:8.9px;
}
.invoice-head-meta div{display:contents}
.invoice-head-meta dt{margin:0;color:#666;white-space:nowrap}
.invoice-head-meta dd{margin:0;font-weight:800;white-space:nowrap}

.invoice-parties{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3mm;
  margin:4mm 0 4mm;
}
.invoice-party{
  border:1px solid #d9d3ca;
  padding:3mm 3.2mm;
  min-height:27mm;
}
.invoice-party h2{margin:0 0 1.4mm;font-size:11px;color:#6f1d20}
.invoice-party p{margin:.6mm 0;font-size:8.5px;line-height:1.45}
.invoice-party b{font-weight:900}

.invoice-lines{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:9px;
}
.invoice-lines th,
.invoice-lines td{
  border:1px solid #d4cec4;
  padding:2mm 1.6mm;
  vertical-align:middle;
  line-height:1.32;
  text-align:center;
}
.invoice-lines thead{background:#6f1d20;color:#fff}
.invoice-lines th:nth-child(1), .invoice-lines td:nth-child(1){width:9mm}
.invoice-lines th:nth-child(2), .invoice-lines td:nth-child(2){width:auto}
.invoice-lines th:nth-child(3), .invoice-lines td:nth-child(3){width:12mm}
.invoice-lines th:nth-child(4), .invoice-lines td:nth-child(4){width:40mm}
.invoice-lines th:nth-child(5), .invoice-lines td:nth-child(5){width:40mm}
.invoice-lines td.description{text-align:right;overflow-wrap:anywhere}
.invoice-lines td.num{white-space:nowrap}
.invoice-lines td.money{white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:7.7px;letter-spacing:-.15px;padding-inline:.7mm}

.invoice-lower{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72mm;
  gap:4mm;
  margin-top:4mm;
  align-items:start;
}
.invoice-notes{
  font-size:8px;
  line-height:1.55;
  padding-top:.5mm;
}
.invoice-notes p{margin:0 0 1.2mm}
.invoice-notes .latin-code{direction:ltr;unicode-bidi:isolate}

.invoice-totals{
  width:100%;
  border:1px solid #d4cec4;
  margin:0;
  font-size:8px;
  background:#fff;
}
.invoice-totals div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 31mm;
  gap:2mm;
  padding:1.3mm 1.8mm;
  border-bottom:1px solid #e6e0d7;
  align-items:center;
}
.invoice-totals dt{min-width:0}
.invoice-totals dd{
  margin:0;
  font-weight:800;
  white-space:nowrap;
  text-align:left;
  font-size:7.7px;
}
.invoice-totals .tax-row{color:#6f1d20}
.invoice-totals .grand{background:#f6f1e7;font-weight:900;border-top:1.4px solid #6f1d20}
.invoice-totals .grand dd{font-size:8.2px}

.invoice-bank{
  margin-top:4mm;
  border:1px solid #d4cec4;
  background:#faf8f3;
  padding:3mm 3.2mm;
}
.invoice-bank-title{display:flex;justify-content:flex-start;align-items:center;gap:4mm;padding-bottom:1.8mm;border-bottom:1px solid #e2dcd1}
.invoice-bank-title strong{font-size:9.4px;color:#6f1d20}
.invoice-bank-title span{display:none}
.invoice-bank-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2mm 4mm;
  padding-top:2.4mm;
}
.invoice-bank-item span,
.invoice-bank-grid .iban span{display:block;color:#847f77;font-size:7px;margin-bottom:.7mm}
.invoice-bank-item b,
.invoice-bank-grid .iban b{display:block;font-size:8.2px;line-height:1.35;white-space:nowrap}
.invoice-bank-grid .iban{grid-column:1 / -1;border-top:1px solid #e2dcd1;padding-top:2mm;margin-top:.5mm}
.invoice-bank-grid .iban b{direction:ltr;text-align:right;letter-spacing:.2px}

.invoice-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5mm;
  margin-top:6mm;
  padding:0;
  font-size:8px;
  break-inside:avoid;
  page-break-inside:avoid;
}
.invoice-approval-card{
  border:1px solid #d4cec4;
  min-height:31mm;
  padding:3mm 3.2mm;
  background:#fff;
}
.invoice-approval-card h3{
  margin:0 0 2.3mm;
  color:#6f1d20;
  font-size:9.6px;
  font-weight:900;
}
.approval-row{
  display:grid;
  grid-template-columns:25mm 1fr;
  gap:2mm;
  align-items:end;
  margin-bottom:3mm;
}
.approval-label{
  color:#666;
  font-size:7.2px;
  white-space:nowrap;
}
.approval-line{
  min-height:6mm;
  border-bottom:1px solid #8b8680;
  padding:0 1.5mm 1mm;
  font-weight:800;
}
.approval-signature{
  display:grid;
  grid-template-columns:25mm 1fr;
  gap:2mm;
  align-items:start;
}
.signature-space{
  display:block;
  min-height:15mm;
  border:1px dashed #c9c2b7;
  background:#fcfbf8;
}
.approval-confirm{display:none}
.approval-check{display:none}
.public-invoice-page{padding:12px 0;background:#f5f2ec}
.invoice-public-actions{max-width:980px;margin:auto;text-align:left}

@media(max-width:700px){
  .invoice-editor .invoice-item-row{grid-template-columns:1fr 70px}
  .invoice-item-row input:nth-child(3){grid-column:1/2}
  .public-invoice-page,.admin-content,.admin-main{overflow-x:auto}
  .invoice-document{width:194mm;min-width:194mm;max-width:194mm}
}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{width:210mm!important;min-width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
  body{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .no-print,.site-header,.site-footer,.admin-sidebar,.admin-top,.admin-heading,.flash,.flash-success,.flash-error,.admin-flash,.admin-message,.alert,.invoice-public-actions{display:none!important}
  .admin-main,.admin-content,.container,main,.public-invoice-page{margin:0!important;padding:0!important;width:210mm!important;max-width:210mm!important;min-width:210mm!important;background:#fff!important;overflow:visible!important}
  .invoice-document{
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    border:0!important;
    padding:11mm 12mm 10mm!important;
    box-shadow:none!important;
    font-size:8.8pt!important;
    line-height:1.35!important;
    overflow:hidden!important;
  }
  .invoice-doc-head{grid-template-columns:45mm 1fr 43mm!important;gap:3mm!important;padding-bottom:4mm!important}
  .invoice-head-logo img{width:28mm!important}
  .invoice-doc-title h1{font-size:18pt!important}
  .invoice-head-meta{font-size:7.4pt!important;gap:.8mm 1.2mm!important}
  .invoice-parties{gap:3mm!important;margin:4mm 0 4mm!important}
  .invoice-party{padding:2.8mm 3mm!important;min-height:27mm!important}
  .invoice-party h2{font-size:8.8pt!important}
  .invoice-party p{font-size:7pt!important;line-height:1.38!important;margin:.5mm 0!important}
  .invoice-lines{font-size:7.3pt!important}
  .invoice-lines th,.invoice-lines td{padding:1.8mm 1.2mm!important;line-height:1.25!important}
  .invoice-lines td.money{font-size:5.9pt!important;padding-inline:.6mm!important;letter-spacing:-.15px!important}
  .invoice-lines th:nth-child(1), .invoice-lines td:nth-child(1){width:9mm!important}
  .invoice-lines th:nth-child(3), .invoice-lines td:nth-child(3){width:10mm!important}
  .invoice-lines th:nth-child(4), .invoice-lines td:nth-child(4){width:40mm!important}
  .invoice-lines th:nth-child(5), .invoice-lines td:nth-child(5){width:40mm!important}
  .invoice-lower{grid-template-columns:minmax(0,1fr) 72mm!important;gap:4mm!important;margin-top:4mm!important}
  .invoice-notes{font-size:6.6pt!important;line-height:1.48!important}
  .invoice-totals{font-size:6.5pt!important}
  .invoice-totals div{grid-template-columns:minmax(0,1fr) 29mm!important;padding:1.1mm 1.5mm!important}
  .invoice-totals dd{font-size:6.4pt!important}
  .invoice-totals .grand dd{font-size:6.9pt!important}
  .invoice-bank{margin-top:4mm!important;padding:2.8mm 3mm!important}
  .invoice-bank-title strong{font-size:8.2pt!important}
  .invoice-bank-title span{font-size:6pt!important}
  .invoice-bank-item span,.invoice-bank-grid .iban span{font-size:5.8pt!important}
  .invoice-bank-item b,.invoice-bank-grid .iban b{font-size:6.8pt!important}
  .invoice-signatures{grid-template-columns:1fr 1fr!important;gap:4mm!important;margin-top:5mm!important;padding:0!important;font-size:6.4pt!important}
  .invoice-approval-card{min-height:28mm!important;padding:2.6mm 2.8mm!important}
  .invoice-approval-card h3{font-size:7.7pt!important;margin-bottom:2mm!important}
  .approval-row,.approval-signature{grid-template-columns:23mm 1fr!important;gap:1.5mm!important}
  .approval-label{font-size:5.8pt!important}
  .approval-line{min-height:5mm!important;font-size:6.5pt!important}
  .signature-space{min-height:13mm!important}
  .approval-confirm{font-size:5.5pt!important;margin-top:2mm!important;padding-top:1.6mm!important}
  .approval-check{width:3.5mm!important;height:3.5mm!important}
  table,thead,tbody,tr,td,th{break-inside:avoid;page-break-inside:avoid}
  thead{display:table-header-group}
}
