/* NGTC report card, CR80 (85.6 x 54 mm). Every length is a multiple of --k (1 mm when printed).
   Layout follows the owner's reference: front = details card, back = report notes with signature and seals. */

.ngc {
  --k: 1mm;
  --navy: #13284b;
  --navy-2: #1d3a68;
  --ink: #16213a;
  --soft: #555e70;
  --gold: #b38a4a;
  --gold-2: #d6b67a;
  --silver: #9aa1ad;
  position: relative;
  width: calc(85.6 * var(--k));
  height: calc(54 * var(--k));
  background: #fff;
  color: var(--ink);
  font-family: "Source Sans 3", "Noto Sans Devanagari", Arial, sans-serif;
  font-size: calc(2.5 * var(--k));
  line-height: 1.2;
  overflow: hidden;
  box-sizing: border-box;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.ngc *, .ngc *::before, .ngc *::after { box-sizing: border-box; }
.ngc p, .ngc dl, .ngc dd { margin: 0; }
.ngc svg { display: block; }

.ngc__guil { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ngc__base { position: absolute; left: 0; right: 0; bottom: 0; height: calc(1.3 * var(--k)); background: var(--navy); }
.ngc__base::before { content: ""; position: absolute; left: 0; right: 0; top: calc(-0.45 * var(--k)); height: calc(0.45 * var(--k)); background: var(--gold); }

/* ---------- front ---------- */
.ngc__crest { position: absolute; left: calc(3 * var(--k)); top: calc(2.6 * var(--k)); width: calc(8.4 * var(--k)); height: calc(9.6 * var(--k)); }
.ngc__head { position: absolute; left: calc(13 * var(--k)); top: calc(3.2 * var(--k)); right: calc(25 * var(--k)); }
.ngc__name { font-weight: 700; font-size: calc(3.05 * var(--k)); letter-spacing: 0.02em; color: var(--navy); white-space: nowrap; text-transform: uppercase; line-height: 1.05; }
.ngc__name-hi { font-family: "Noto Sans Devanagari", sans-serif; font-weight: 600; font-size: calc(2.75 * var(--k)); color: var(--navy); margin-top: calc(0.6 * var(--k)); white-space: nowrap; }

.ngc__no { position: absolute; left: calc(3 * var(--k)); top: calc(14.2 * var(--k)); font-size: calc(3.2 * var(--k)); font-weight: 700; color: var(--ink); white-space: nowrap; }
.ngc__codes { position: absolute; left: calc(3 * var(--k)); top: calc(18.6 * var(--k)); display: flex; gap: calc(2.4 * var(--k)); align-items: flex-start; }
.ngc__bar { width: calc(27 * var(--k)); background: #fff; padding: calc(0.4 * var(--k)) calc(0.6 * var(--k)) 0; }
.ngc__bar svg { width: 100%; height: calc(6.2 * var(--k)); }
.ngc__bar span { display: block; text-align: center; font-size: calc(1.7 * var(--k)); letter-spacing: 0.08em; margin-top: calc(0.2 * var(--k)); }
.ngc__qrf { width: calc(9.8 * var(--k)); height: calc(9.8 * var(--k)); background: #fff; padding: calc(0.4 * var(--k)); }
.ngc__qrf svg { width: 100%; height: 100%; }

.ngc__ring {
  position: absolute; right: calc(5.3 * var(--k)); top: calc(2.2 * var(--k));
  width: calc(18 * var(--k)); height: calc(18 * var(--k)); border-radius: 50%;
  background: var(--gold);
  padding: calc(0.75 * var(--k));
}
.ngc__ring::before { content: ""; position: absolute; inset: calc(0.35 * var(--k)); border-radius: 50%; border: calc(0.2 * var(--k)) solid var(--gold-2); }
.ngc__ring > div { position: relative; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: #fff; border: calc(0.35 * var(--k)) solid #fff; }
.ngc__ring img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.ngc__ring .ngc__nophoto { display: grid; place-items: center; height: 100%; font-size: calc(1.8 * var(--k)); color: var(--soft); text-align: center; }
.ngc__cap { position: absolute; right: calc(2 * var(--k)); width: calc(24.6 * var(--k)); top: calc(20.9 * var(--k)); text-align: center; font-weight: 700; }
.ngc__cap b { display: block; font-size: calc(3.1 * var(--k)); color: var(--ink); text-transform: uppercase; }
.ngc__cap span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: calc(2.35 * var(--k)); color: var(--ink); line-height: 1.12; }

.ngc__fields {
  position: absolute; left: calc(3 * var(--k)); right: calc(3 * var(--k)); top: calc(35.2 * var(--k)); font-size: calc(2.25 * var(--k));
  display: grid; grid-template-columns: calc(37 * var(--k)) 1fr; grid-auto-flow: column; grid-template-rows: repeat(4, auto);
  column-gap: calc(2.5 * var(--k)); row-gap: calc(0.6 * var(--k));
}
.ngc__fields > div { display: grid; grid-template-columns: calc(13 * var(--k)) 1fr; column-gap: calc(1 * var(--k)); min-width: 0; }
.ngc__fields dt { font-weight: 700; white-space: nowrap; }
.ngc__fields > div:nth-child(n+5) { grid-template-columns: calc(15.5 * var(--k)) 1fr; }
.ngc__fields dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ngc__item { position: absolute; left: calc(3 * var(--k)); right: calc(3 * var(--k)); top: calc(31.4 * var(--k)); margin: 0; display: grid; grid-template-columns: calc(13 * var(--k)) 1fr; column-gap: calc(1 * var(--k)); font-size: calc(2.45 * var(--k)); }
.ngc__item dt { font-weight: 700; }
.ngc__item dd { font-weight: 700; color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ngc__fine { position: absolute; left: calc(3 * var(--k)); right: calc(3 * var(--k)); bottom: calc(2.3 * var(--k)); white-space: nowrap; overflow: hidden; font-size: calc(1.55 * var(--k)); color: var(--soft); line-height: 1.25; }

/* ---------- back ---------- */
.ngc__bandb {
  position: absolute; inset: 0 0 auto 0; height: calc(9.6 * var(--k));
  background: var(--navy); display: flex; align-items: center; justify-content: center;
}
.ngc__bandb::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(-0.55 * var(--k)); height: calc(0.55 * var(--k)); background: var(--gold); }
.ngc__bandb .ngc__crest { left: calc(3 * var(--k)); top: calc(0.9 * var(--k)); width: calc(6.8 * var(--k)); height: calc(7.8 * var(--k)); }
.ngc__title { color: var(--gold-2); font-weight: 700; font-size: calc(3.5 * var(--k)); letter-spacing: 0.09em; text-transform: uppercase; }
.ngc__seal-s { position: absolute; right: calc(3 * var(--k)); top: calc(0.7 * var(--k)); width: calc(8.4 * var(--k)); height: calc(8.4 * var(--k)); }

.ngc__notes { position: absolute; left: calc(3 * var(--k)); right: calc(3 * var(--k)); top: calc(12.2 * var(--k)); display: grid; row-gap: calc(0.7 * var(--k)); font-size: calc(2.35 * var(--k)); }
.ngc__notes > div { display: grid; grid-template-columns: calc(19 * var(--k)) 1fr; column-gap: calc(1 * var(--k)); }
.ngc__notes dt { font-weight: 700; }
.ngc__notes dd { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ngc__legal { position: absolute; left: calc(3 * var(--k)); right: calc(3 * var(--k)); top: calc(28 * var(--k)); font-size: calc(1.7 * var(--k)); line-height: 1.25; color: var(--ink); }

.ngc__sign { position: absolute; left: calc(3 * var(--k)); top: calc(32.6 * var(--k)); width: calc(31 * var(--k)); }
.ngc__sig { height: calc(7.4 * var(--k)); display: flex; align-items: flex-end; }
.ngc__sig img { max-height: 100%; max-width: calc(30 * var(--k)); object-fit: contain; object-position: left bottom; }
.ngc__sig i { font-family: "Allura", "Brush Script MT", cursive; font-style: normal; font-size: calc(5.2 * var(--k)); line-height: 1; color: #1d2b4a; white-space: nowrap; }
.ngc__sign b { display: block; font-size: calc(2.45 * var(--k)); margin-top: calc(0.4 * var(--k)); }
.ngc__sign p { font-size: calc(2.3 * var(--k)); margin-top: calc(0.5 * var(--k)); white-space: nowrap; }

.ngc__seal-g { position: absolute; left: calc(36 * var(--k)); top: calc(32.4 * var(--k)); width: calc(14 * var(--k)); height: calc(14 * var(--k)); }
.ngc__seal-m { position: absolute; left: calc(52.5 * var(--k)); top: calc(37.2 * var(--k)); width: calc(8 * var(--k)); height: calc(8 * var(--k)); }
.ngc__qrb { position: absolute; right: calc(3.4 * var(--k)); top: calc(31.8 * var(--k)); width: calc(13.2 * var(--k)); text-align: center; }
.ngc__qrb svg { width: calc(13.2 * var(--k)); height: calc(13.2 * var(--k)); background: #fff; }
.ngc__qrb span { display: block; font-size: calc(1.75 * var(--k)); margin-top: calc(0.5 * var(--k)); white-space: nowrap; }

.ngc__specimen { position: absolute; left: 50%; top: 52%; transform: translate(-50%, -50%) rotate(-14deg); font-size: calc(7 * var(--k)); font-weight: 700; letter-spacing: 0.2em; color: rgba(19, 40, 75, 0.07); text-transform: uppercase; pointer-events: none; white-space: nowrap; }
