/* Print / Save-as-PDF view — A4 landscape, ruled like a traditional register. */

@page {
  size: A4 landscape;
  margin: 10mm 10mm 12mm;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: #eceff3;
  color: #111;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Noto Sans", Arial, sans-serif;
  font-size: 10pt;
}

.toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: #0d1b2e;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 5;
}
.print-btn {
  font: inherit;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 8px;
  border: 0;
  background: #1f6feb;
  color: #fff;
  cursor: pointer;
  min-height: 40px;
}
.quiet { font-size: 9pt; opacity: 0.8; color: inherit; }
.toolbar a.quiet { color: #cfd8e3; }

.pages { padding: 12px; }
.page {
  background: #fff;
  width: 277mm;
  min-height: 190mm;
  padding: 6mm 6mm 4mm;
  margin: 0 auto 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
}

/* ---------- page furniture ---------- */
.doc-head { border-bottom: 1.5pt solid #111; padding-bottom: 2mm; margin-bottom: 2mm; }
.doc-school { font-size: 13pt; font-weight: 700; letter-spacing: 0.2pt; text-transform: uppercase; }
.doc-title { font-size: 9.5pt; font-weight: 600; letter-spacing: 0.4pt; text-transform: uppercase; }
.doc-meta { font-size: 7.6pt; color: #333; margin-top: 1mm; line-height: 1.35; }

/* ---------- ruled table ---------- */
table.reg {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 7.6pt;
}
table.reg thead { display: table-header-group; }
table.reg th, table.reg td {
  border: 0.6pt solid #444;
  padding: 2.2pt 3pt;
  line-height: 1.18;
  vertical-align: top;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  height: 6mm;
}
table.reg th {
  background: #e9edf2;
  font-size: 7pt;
  text-transform: uppercase;
  letter-spacing: 0.2pt;
  text-align: left;
  font-weight: 700;
}
table.reg td.num, table.reg th.num { text-align: right; }
table.reg td.centre, table.reg th.centre { text-align: center; }
table.reg tbody tr:nth-child(even) td { background: #fafbfc; }

.doc-foot {
  margin-top: auto;
  padding-top: 2mm;
  border-top: 0.6pt solid #888;
  display: flex;
  justify-content: space-between;
  gap: 10mm;
  font-size: 7.2pt;
  color: #333;
}
.summary-line { font-size: 7.6pt; margin: 1mm 0 2mm; }

/* Column widths per view (CSP-safe: no inline styles). */
/* Register: Dispatch No. · Sl. No. · Department · Subject · From · To ·
   Date of Making · Date of Dispatch · Mode · Receipt Status · Handed Over To ·
   Entered By · Entered On — thirteen columns, so the register table is set a
   touch smaller and its headers may wrap onto two lines. */
.view-register table.reg { font-size: 7pt; }
.view-register table.reg th { font-size: 6.6pt; white-space: normal; height: auto; }
.view-register table.reg col:nth-child(1) { width: 12%; }
.view-register table.reg col:nth-child(2) { width: 4%; }
.view-register table.reg col:nth-child(3) { width: 10%; }
.view-register table.reg col:nth-child(4) { width: 13%; }
.view-register table.reg col:nth-child(5) { width: 8%; }
.view-register table.reg col:nth-child(6) { width: 8%; }
.view-register table.reg col:nth-child(7) { width: 7%; }
.view-register table.reg col:nth-child(8) { width: 7%; }
.view-register table.reg col:nth-child(9) { width: 6%; }
.view-register table.reg col:nth-child(10) { width: 6%; }
.view-register table.reg col:nth-child(11) { width: 6%; }
.view-register table.reg col:nth-child(12) { width: 5%; }
.view-register table.reg col:nth-child(13) { width: 8%; }

.view-activity table.reg col:nth-child(1) { width: 13%; }
.view-activity table.reg col:nth-child(2) { width: 10%; }
.view-activity table.reg col:nth-child(3) { width: 7%; }
.view-activity table.reg col:nth-child(4) { width: 12%; }
.view-activity table.reg col:nth-child(5) { width: 6%; }
.view-activity table.reg col:nth-child(6) { width: 52%; }

/* ---------- screen-only niceties ---------- */
@media screen {
  body { padding-bottom: 20px; }
}

/* ---------- print ---------- */
@media print {
  body { background: #fff; }
  .toolbar { display: none; }
  .pages { padding: 0; }
  .page {
    width: auto;
    min-height: 0;
    height: 186mm;
    margin: 0;
    padding: 0;
    box-shadow: none;
    page-break-after: always;
    break-after: page;
    display: flex;
    flex-direction: column;
  }
  .page:last-child { page-break-after: auto; break-after: auto; }
  table.reg tbody tr { page-break-inside: avoid; break-inside: avoid; }
}
