/* Hujjat maketi — faqat fizik birliklar (mm, pt). Qiymatlar render.js orqali
   assets/template.json dan CSS o'zgaruvchisi bo'lib keladi. */

.doc {
  position: relative;
  width: var(--pw);
  font-family: var(--font);
  font-size: var(--fs);
  line-height: 1.15;
  color: #000;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
}

.sheets { position: absolute; inset: 0; pointer-events: none; }
.sheet {
  position: absolute; left: 0;
  width: var(--pw); height: var(--ph);
  background: #fff;
  border-radius: 1px;
  box-shadow: var(--sheet-shadow, 0 0.3mm 0.8mm rgba(0,0,0,.18), 0 3mm 9mm -2mm rgba(0,0,0,.35));
}
.sheet .pno {
  position: absolute; right: 0; top: 100%;
  font: 500 2.6mm/1 ui-sans-serif, system-ui, sans-serif;
  color: var(--pno, rgba(255,255,255,.4));
  padding-top: 1.4mm; letter-spacing: .02em;
}

.flow {
  position: relative;
  padding: var(--mt) var(--mr) 0 var(--ml);
}

/* ---- bloklar ---- */
.b { position: relative; }
.pg-spacer { height: 0; }

.title, .h14 { font-weight: 700; font-size: var(--fs-title); text-align: center; }
.name { font-weight: 700; font-size: var(--fs-title); margin-bottom: var(--sp-group); }
.h14 { margin: var(--sp-group) 0; }
.h12 { font-weight: 700; font-size: var(--fs-rel); text-align: center; min-height: 1.15em; }
.h12.sp { margin-bottom: var(--sp-group); }

.center { text-align: center; }
.bold { font-weight: 700; }
.lbl { font-weight: 700; }
.val { margin-bottom: var(--sp-group); }

/* har bir maydon — Word'dagi bitta paragraf; bo'sh bo'lsa ham bir qator egallaydi */
.f { white-space: pre-wrap; overflow-wrap: anywhere; min-height: 1.15em; }
.f.inline { display: inline; min-height: 0; }

.head {
  display: grid;
  grid-template-columns: var(--head-cols);
  grid-auto-rows: auto;
}
.head .r1 { grid-column: 1 / 3; }
.head .photo-cell { grid-column: 3; grid-row: 1 / span 3; display: flex; justify-content: flex-end; align-items: flex-start; }
.head .span2 { grid-column: 2 / 4; }
.head .end { align-self: end; }

.photo {
  width: var(--photo-w); height: var(--photo-h);
  position: relative; overflow: hidden;
  background: #fff;
}
.photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-ph {
  position: absolute; inset: 0;
  border: 0.3mm solid #787878;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #8c8c8c; font-size: 12pt; line-height: 1.25;
}

.item .val { margin-bottom: var(--sp-group); }

.job {
  display: grid;
  grid-template-columns: var(--job-period) 1fr;
  margin-bottom: var(--sp-job);
}

/* ---- qarindoshlar jadvali (div-grid: har qator alohida blok, sahifaga bo'linadi) ---- */
.rel {
  display: grid;
  grid-template-columns: var(--rel-cols);
  font-size: var(--fs-table);
}
.rel > .c {
  border-right: 0.5pt solid #000;
  border-bottom: 0.5pt solid #000;
  padding: 0 var(--rel-pad);
  display: flex; flex-direction: column; justify-content: center;
  text-align: center;
  min-width: 0;
}
.rel > .c:first-child { border-left: 0.5pt solid #000; }
.rel-head > .c { border-top: 0.5pt solid #000; font-weight: 700; padding-top: 1mm; padding-bottom: 1mm; }
.rel > .c.span2 { grid-column: span 2; }
.rel-rel { font-weight: 700; }
.rel > .c > .f { width: 100%; }
