/* ================================================================
   KANOON MITRA SOLUTIONS — LABOUR LAW COMPLIANCE PORTAL
   Print styling for registers that must match an OFFICIAL GAZETTE
   FORM layout (Form I / Form IV / Form IX under the Code on Wages
   (Central) Rules, 2026, G.S.R. 343(E) dated 8 May 2026, and the
   equivalent forms under other Codes once available).

   Loaded only by register pages that supply config.buildPrintHTML —
   plain black-on-white, serif, bordered tables, matching the gazette's
   own typographic conventions rather than the portal's gold/navy theme.
   ================================================================ */

/* The watermark used to be the logo TILED at 260px across the whole form.
   On a gazette form — dense bordered tables, 11px serif, ruled fill-in
   lines — a repeating mark lands behind every row and costs real
   readability, and an inspector reads these. It is now ONE mark, centred,
   large and very faint, so the paper is still identifiably ours without
   anything sitting under a figure. Attribution proper lives in the printed
   footer line (.gaz-credit), which is legible and does not fight the text.

   BOTH ARE NOW PAYWALL FEATURES. The logo mark and the credit line render
   only for an unpaid visitor (html.kms-unpaid, set by shared/watermark.js).
   A paying customer's statutory register carries their establishment's name
   and nothing of ours — see CLAUDE.md. */
.gaz-page {
    position: relative;
    font-family: "Times New Roman", Georgia, serif;
    color: #000;
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    font-size: 11px;
    line-height: 1.35;
}

/* The gazette pages are marked containers, but the mark itself is NOT defined
   here any more — shared/watermark.js owns every watermark in the portal so the
   paid/unpaid rule lives in exactly one file. The old faint-logo rule that used
   to sit here applied to paying customers too, which is the bug this replaced. */

/* Everything authored sits above the mark. */
.gaz-page > * { position: relative; z-index: 1; }

.kms-paid .gaz-credit { display: none; }
.gaz-credit {
    margin-top: 10px;
    padding-top: 5px;
    border-top: .5px solid #999;
    font-size: 8.5px;
    color: #444;
    text-align: center;
    letter-spacing: .2px;
}

.gaz-page + .gaz-page { page-break-before: always; }

/* SPECIMEN WATERMARK — moved to shared/watermark.js.
   It used to be keyed to a .gaz-specimen class that shared/register-engine.js toggled,
   which meant only the register pages were ever marked; the letters, wage slips, tax forms
   and apprentice documents printed clean on a free account. The mark is now keyed to the
   html.kms-unpaid flag instead, so every document generator inherits it and none has to
   remember to. register-engine.js may still set .gaz-specimen — it is now a no-op. */

.gaz-masthead { text-align: center; font-size: 10px; margin-bottom: 6px; }
.gaz-formno { text-align: center; font-weight: 700; font-size: 13px; letter-spacing: 1px; margin-bottom: 2px; }
.gaz-rule-ref { text-align: center; font-style: italic; font-size: 10px; margin-bottom: 6px; }
.gaz-formtitle { text-align: center; font-weight: 700; font-size: 12.5px; text-transform: uppercase; margin-bottom: 10px; letter-spacing: .5px; }

/* Establishment header block — "Name of Establishment / Name of Employer / ..." rows */
table.gaz-header-table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
table.gaz-header-table td { border: 1px solid #000; padding: 3px 6px; vertical-align: top; }
table.gaz-header-table td.gaz-label { width: 42%; font-weight: 600; }

/* Vertical numbered field:value layout — used for Form I (one card per employee) */
table.gaz-vertical-table { width: 100%; border-collapse: collapse; }
table.gaz-vertical-table td { border: 1px solid #000; padding: 3px 6px; vertical-align: top; }
table.gaz-vertical-table td.gaz-fieldno { width: 4%; }
table.gaz-vertical-table td.gaz-fieldname { width: 40%; }
table.gaz-vertical-table td.gaz-fieldval { width: 56%; }
.gaz-footnote { font-size: 9.5px; margin-top: 8px; }

/* Dense multi-column register grid — used for Form IV / Form IX */
table.gaz-dense-table { width: 100%; border-collapse: collapse; font-size: 8.5px; table-layout: fixed; }
table.gaz-dense-table th, table.gaz-dense-table td {
    border: 1px solid #000; padding: 2px 3px; text-align: center; vertical-align: middle; word-break: break-word;
}
table.gaz-dense-table th { font-weight: 700; background: #f0f0f0; }
table.gaz-dense-table td.gaz-left { text-align: left; }

.gaz-signature-row { display: flex; justify-content: space-between; margin-top: 26px; }
.gaz-signature-row div { text-align: center; font-size: 10px; width: 30%; border-top: 1px solid #000; padding-top: 3px; }

/* ---------- PERSONNEL FILE LETTERS (Offer / Appointment / Joining Form) ---------- */
.gaz-page.letter { font-size: 12px; line-height: 1.6; padding: 10mm 4mm; position: relative; }
.gaz-letterhead { text-align: center; border-bottom: 2px solid #000; padding-bottom: 8px; margin-bottom: 18px; }
.gaz-letterhead .firm { font-family: "Cinzel", "Times New Roman", serif; font-size: 17px; font-weight: 700; letter-spacing: .5px; }
.gaz-letterhead .sub { font-size: 10px; margin-top: 2px; letter-spacing: .5px; text-transform: uppercase; color: #333; }
.gaz-photo-box {
    position: absolute; top: 10mm; right: 4mm; width: 30mm; height: 36mm;
    border: 1px solid #000; display: flex; align-items: center; justify-content: center;
    text-align: center; font-size: 9px; color: #555; padding: 4px;
}
.gaz-letter-refdate { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 14px; }
.gaz-letter-recipient { margin-bottom: 14px; }
.gaz-letter-subject { font-weight: 700; text-decoration: underline; margin-bottom: 12px; }
.gaz-letter-body p { margin-bottom: 10px; text-align: justify; }
.gaz-letter-terms { margin: 10px 0 14px 18px; }
.gaz-letter-terms li { margin-bottom: 5px; text-align: justify; }
.gaz-letter-sign { margin-top: 30px; }
.gaz-letter-sign .block { margin-top: 26px; }
.gaz-letter-ack { margin-top: 40px; border-top: 1px dashed #000; padding-top: 10px; font-size: 10.5px; }

/* ---------- STANDING ORDERS — full statutory clause text ---------- */
.so-cover { text-align: center; margin-bottom: 22px; }
.so-cover .act { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.so-cover .title { font-family: "Cinzel", "Times New Roman", serif; font-size: 18px; font-weight: 700; margin: 8px 0 4px; }
.so-cover .schedule { font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.so-cover .adopter { font-size: 11.5px; margin-top: 10px; }
.so-para-block { margin: 0 0 12px; page-break-inside: avoid; }
.so-para-head { font-weight: 700; }
.so-para-head .so-para-num { margin-right: 4px; }
.so-item { margin: 3px 0 3px 6px; }
.so-item-num { font-weight: 600; margin-right: 4px; }
.so-sub-list { margin-left: 12px; }
.so-proviso { margin: 3px 0 3px 24px; font-style: italic; }
.so-expl { margin: 3px 0 3px 12px; font-size: 10.5px; }
.so-lettered { margin: 3px 0 3px 16px; }
.so-letter-item { margin-bottom: 3px; }
.so-letter { font-weight: 600; margin-right: 5px; }
.so-copy-list { margin: 10px 0 0 16px; font-size: 10.5px; }
.so-note { margin-top: 10px; font-size: 10px; font-style: italic; }

/* ---------- Policy document section headings ---------- */
.pol-h { font-weight: 700; font-size: 12.5px; margin: 16px 0 6px; color: #000; }
.pol-h:first-child { margin-top: 0; }

/* ---------- Simple bordered roster table (POSH ICC members, etc.) ---------- */
table.gaz-roster-table { width: 100%; border-collapse: collapse; font-size: 11px; margin: 10px 0; }
table.gaz-roster-table th, table.gaz-roster-table td { border: 1px solid #000; padding: 4px 8px; text-align: left; }
table.gaz-roster-table th { background: #f0f0f0; font-weight: 700; }
