/* ============================================================
   A4 DOKUMENT — izgled fakture (ekran + print) i print pravila
   Fizicke mjere u mm. Format: 210 × 297 mm.
   ============================================================ */

/* ---- A4 stranica (vizualno isto na ekranu i u printu) ---- */
.a4-doc{
  --a4-pad:14mm;
  width:210mm; min-height:297mm; background:#fff; color:#111827;
  margin:0 auto; padding:var(--a4-pad);
  font-family:'Inter',system-ui,'Segoe UI',Arial,sans-serif;
  font-size:10.5pt; line-height:1.4; position:relative;
  box-shadow:0 6px 24px rgba(16,24,40,.14);
}
.a4-doc *{box-sizing:border-box}

/* Memorandum */
.inv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:10px;border-bottom:2px solid #111827;margin-bottom:14px}
.inv-head .co-left{display:flex;gap:14px;align-items:flex-start}
.inv-head .co-logo{max-height:64px;max-width:180px;object-fit:contain}
.inv-head .co-name{font-size:16pt;font-weight:750;letter-spacing:-.01em;line-height:1.1}
.inv-head .co-meta{font-size:8.7pt;color:#374151;margin-top:4px;white-space:pre-line}
.inv-head .co-right{text-align:right;font-size:8.7pt;color:#374151}
.inv-head .co-right .b{font-weight:650;color:#111827}
.inv-letterhead{width:100%;max-height:150px;object-fit:contain;display:block;margin-bottom:12px}

/* Naslov dokumenta */
.inv-title{font-size:19pt;font-weight:750;letter-spacing:-.02em;margin:2px 0 12px}
.inv-title small{font-size:11pt;font-weight:600;color:#6b7280;margin-left:8px}

/* Stranke: kupac lijevo, podaci fakture desno */
.inv-parties{display:flex;gap:16px;margin-bottom:16px;align-items:stretch}
.inv-buyer{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:11px 13px}
.inv-buyer .lb{font-size:8pt;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700;margin-bottom:4px}
.inv-buyer .nm{font-weight:700;font-size:11.5pt}
.inv-buyer .line{font-size:9.3pt;color:#374151}
.inv-meta{width:44%;font-size:9.3pt}
.inv-meta table{width:100%;border-collapse:collapse}
.inv-meta td{padding:3px 0;vertical-align:top}
.inv-meta td.k{color:#6b7280;padding-right:10px;white-space:nowrap}
.inv-meta td.v{text-align:right;font-weight:600}

/* Tablica artikala */
table.inv-items{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:9.3pt}
table.inv-items thead th{background:#f3f4f6;color:#374151;font-weight:700;font-size:8pt;
  text-transform:uppercase;letter-spacing:.02em;padding:6px 6px;border-bottom:1.5px solid #9ca3af;text-align:left}
table.inv-items tbody td{padding:6px 6px;border-bottom:.5px solid #e5e7eb;vertical-align:top}
table.inv-items .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.inv-items .c{text-align:center}
table.inv-items tbody tr{break-inside:avoid;page-break-inside:avoid}
table.inv-items .rb{color:#9ca3af;width:22px}
table.inv-items .desc .nm{font-weight:600}
table.inv-items .desc .sub{font-size:8pt;color:#6b7280}

/* Sazetak / totali */
.inv-summary{display:flex;justify-content:space-between;gap:20px;margin-top:6px;
  break-inside:avoid;page-break-inside:avoid}
.inv-tax-table{font-size:8.7pt;min-width:180px}
.inv-tax-table th,.inv-tax-table td{padding:3px 8px;border:.5px solid #e5e7eb;text-align:right}
.inv-tax-table th{background:#f9fafb;font-weight:650;color:#6b7280;text-align:left}
.inv-totals{margin-left:auto;min-width:250px}
.inv-totals .row{display:flex;justify-content:space-between;padding:3px 0;font-size:9.6pt}
.inv-totals .row.mut{color:#6b7280}
.inv-totals .row.grand{border-top:2px solid #111827;margin-top:6px;padding-top:8px;font-size:13pt;font-weight:750}

/* Napomene i footer */
.inv-notes{margin-top:16px;font-size:9pt;color:#374151;break-inside:avoid}
.inv-notes .blk{margin-bottom:8px}
.inv-notes .lb{font-weight:700;color:#111827;font-size:8.3pt;text-transform:uppercase;letter-spacing:.04em}
.inv-foot{margin-top:22px;padding-top:10px;border-top:1px solid #d1d5db;
  display:flex;justify-content:space-between;gap:20px;font-size:8.7pt;color:#6b7280;break-inside:avoid}
.inv-foot .sign{text-align:center;min-width:180px}
.inv-foot .sign .line{margin-top:34px;border-top:1px solid #9ca3af;padding-top:4px}
.inv-slogan{text-align:center;font-style:italic;color:#4b5563;margin-top:16px;font-size:9.5pt}

/* Vodeni pecat statusa */
.inv-watermark{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);
  font-size:60pt;font-weight:800;color:rgba(220,38,38,.08);letter-spacing:4px;pointer-events:none;text-transform:uppercase}

/* Print-root skriven na ekranu */
#print-root{display:none}

/* ============================================================
   PRINT
   ============================================================ */
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  .app-root{display:none!important}
  #print-root{display:block!important}
  .a4-doc{box-shadow:none!important;margin:0!important;width:auto!important;min-height:auto!important;padding:0!important}
  .toasts,.modal-bg{display:none!important}

  @page{
    size:A4;
    margin:12mm;
  }
  /* Broj stranice (podrzano u Chrome/Edge print engine-u) */
  @page{
    @bottom-right{ content:"Stranica " counter(page) " / " counter(pages); font-size:8pt; color:#6b7280; }
  }
  /* thead se ponavlja na svakoj stranici */
  table.inv-items thead{display:table-header-group}
  table.inv-items tfoot{display:table-footer-group}
  .inv-summary,.inv-notes,.inv-foot,.inv-title,.inv-parties{page-break-inside:avoid}
  a[href]:after{content:""}
}

/* Za manje ekrane - skaliraj A4 preview */
@media(max-width:900px){
  .preview-scroll .a4-doc{transform:scale(.62);transform-origin:top center}
}
