/* ===== A4 komponenta – izolovana od Bootstrapa ===== */
@page { size: A4 portrait; margin: 0; }

:root{
  --ink:#000;
  --bg:#fff;
  --pad-x:14mm;   /* unutrašnje margine A4 */
  --pad-y:12mm;
  --font:"Times New Roman","Georgia",serif;
  --fs:12pt;
}

/* host neutralizuje .row/.col SAMO unutar A4 zone */
.a4-host .row,
.a4-host [class*="col-"]{
  width:auto !important;
  max-width:none !important;
  flex:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* viewport drži realnu širinu A4 i centrira list */
.a4-viewport{ width:210mm; margin:0 auto; }

/* sama A4 strana: TAČNO 210×297 mm */
.a4-page{
  width:210mm; height:297mm;
  box-sizing:border-box;
  background:var(--bg); color:var(--ink);
  padding:var(--pad-y) var(--pad-x);
  border:1px solid #000;            /* ukloni ako ne želiš okvir */
  font:var(--fs) var(--font);
  display:flex; flex-direction:column; gap:6mm;
}

/* skrol, bez uticaja na ostatak sajta */
.a4-scroller{ overflow:auto; }

/* Štampa: prikaži samo A4 list */
@media print{
  body *{ visibility:hidden; }
  .a4-page, .a4-page *{ visibility:visible; }
  .a4-page{ position:absolute; left:0; top:0; border:none; }
}

/* ===== HEADER (gornja linija + naslov) ===== */
.sheet-header{ font-family:"Times New Roman", serif; margin-bottom:8mm; }

.meta-line{
  display:flex; justify-content:space-between;
  margin-bottom:5mm; font-size:11pt;
}
.meta-item{ flex:1; text-align:left; margin-right:10mm; }
.meta-item:last-child{ margin-right:0; }

.dotted{
  border-bottom:1px dotted #000; display:inline-block;
  min-width:30mm; height:12pt; vertical-align:baseline;
}

/* naslovna linija */
.title-line{
  display:flex; justify-content:space-between; align-items:baseline;
}
.title{ font-size:14pt; font-weight:700; text-align:center; flex:1; }
.list-number{ font-size:11pt; white-space:nowrap; margin-left:10mm; }

/* ===== META BLOK iznad grida ===== */
.meta-table{
  width:100%; border:1px solid #000; border-collapse:collapse;
  font-family:"Times New Roman", serif; font-size:11pt;
  margin-bottom:0;                /* spoj sa gridom */
}
.meta-table td{
  border:1px solid #000; padding:2mm 3mm; vertical-align:top;
}

/* pomoćne */
.small{ font-size:10pt; opacity:.9; }
.w40{ min-width:40px; } .w50{ min-width:50px; } .w60{ min-width:60px; }

/* ===== GLAVNI GRID koji puni ostatak stranice ===== */
.grid-flex{ flex:1 1 auto; min-height:0; display:flex; } /* min-height 0 je bitno */

.grid-main{
  width:100%; height:100%;
  border:1px solid #000;
  border-collapse:collapse; table-layout:fixed;
}
.grid-main th, .grid-main td{
  border:1px solid #000; padding:2mm; text-align:center;
}
.grid-main thead th{ font-weight:700; }

/* jedna visoka ćelija po koloni */
.grid-main td.tall{ height:100%; vertical-align:top; padding:0; }
.sheet-input{
  width:100%; height:100%;
  border:none; resize:none; background:transparent;
  padding:2mm; box-sizing:border-box; font:12pt "Times New Roman", serif;
}
.sheet-input.right{ text-align:right; }

/* deblja vertikala ispred “Mesečno/Ukupno” ako želiš */
.thick-left{ border-left-width:2px !important; }

/* SPOJ: ukloni duplu liniju između meta-table i grida */
.meta-table.join-bottom tr:last-child td{ border-bottom:none; }
.grid-main.join-top{ border-top:none; }
.grid-main.join-top thead th{ border-top:none; }

/* ===== PRILAGOĐAVANJE ZA ŠTAMPU ===== */