/* ═══════════════════════════════════════════════════════════
   Payslip Studio — the printable page and its four templates
   Paper is A4 at 96dpi → 794 × 1123 px
   ═══════════════════════════════════════════════════════════ */

@page{ size:A4; margin:0; }

#paper{
  --acc:#2341F5;
  --p-ink:#0B1020;
  --p-muted:#77809A;
  --p-rule:#E1E6F6;
  --p-mist:#F1F4FE;
  --p-soft:#F7F8FC;

  width:794px; min-height:1123px; background:#fff; color:var(--p-ink);
  position:relative;
  font-family:"Poppins","Carlito","Liberation Sans",sans-serif;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
#paper table{ border-collapse:collapse; }
#paper .ps-mono{
  font-family:"JetBrains Mono","DejaVu Sans Mono","Liberation Mono",monospace;
  font-variant-numeric:tabular-nums;
}
#paper .ps-eyebrow{
  font-family:"JetBrains Mono","DejaVu Sans Mono","Liberation Mono",monospace;
  font-size:7.5px; letter-spacing:1.3px; text-transform:uppercase; color:var(--p-muted);
}

/* brand wordmark — text inside {curly braces} is tinted with the accent */
#paper .ps-mark b{ color:var(--acc); font-weight:inherit; }
#paper .ps-logo{ display:block; width:auto; }

/* watermark */
#paper .ps-wm{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) rotate(-28deg);
  font-size:104px; font-weight:700; letter-spacing:6px; text-transform:uppercase;
  color:var(--acc); opacity:.06; white-space:nowrap; pointer-events:none; z-index:0;
}
#paper > *:not(.ps-wm){ position:relative; z-index:1; }

/* signature + stamp block (shared markup, tuned per template) */
#paper .ps-sign{ width:100%; }
#paper .ps-sign td{ width:50%; vertical-align:bottom; padding-right:56px; }
#paper .ps-sign td.r{ padding-right:0; padding-left:56px; }
#paper .ps-sign .slot{ position:relative; height:56px; }
#paper .ps-sign .rule{ border-bottom:1px solid var(--p-ink); }
#paper .ps-sign .sig{ position:absolute; left:4px; bottom:2px; width:auto; z-index:2; }
#paper .ps-sign .stamp{
  position:absolute; left:46%; bottom:-22px; width:auto;
  transform:rotate(-9deg); pointer-events:none; z-index:1;
}
#paper .ps-sign .cap{ padding-top:7px; }
#paper .ps-sign .who{ font-size:10.5px; font-weight:600; margin-top:2px; }
#paper .ps-sign .who i{ display:block; font-style:normal; font-weight:400; font-size:9px; color:var(--p-muted); margin-top:1px; }

/* keep blocks whole when a slip spills onto a second sheet */
#paper .ps-sign, #paper .net, #paper .c-net, #paper .m-net, #paper .s-net{ page-break-inside:avoid; break-inside:avoid; }


/* ══════════════════════════════════════════════════
   TEMPLATE 1 · LEDGER — dark masthead, twin ledgers
   ══════════════════════════════════════════════════ */
.t-ledger .band{ background:var(--p-ink); padding:26px 46px 24px; }
.t-ledger .band table{ width:100%; }
.t-ledger .band td{ vertical-align:top; }
.t-ledger .mark{ font-size:29px; font-weight:700; letter-spacing:-1.1px; color:#fff; line-height:1; }
.t-ledger .ps-logo{ max-height:46px; }
.t-ledger .mark-sub{
  margin-top:9px; font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:7.5px; letter-spacing:1.2px; text-transform:uppercase; color:#7A85AD;
}
.t-ledger .doc-kicker{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:8px; letter-spacing:2.6px; text-transform:uppercase; color:#7A85AD; text-align:right;
}
.t-ledger .doc-period{ font-size:23px; font-weight:600; letter-spacing:-0.5px; color:#fff; text-align:right; margin-top:5px; line-height:1.1; }
.t-ledger .doc-ref{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:8px; letter-spacing:.6px; color:#8496FF; text-align:right; margin-top:6px;
}
.t-ledger .sheet{ padding:0 46px 40px; }
.t-ledger .meta{ width:100%; margin-top:26px; }
.t-ledger .meta td{ width:25%; padding:11px 14px 12px 0; border-bottom:1px solid var(--p-rule); vertical-align:top; }
.t-ledger .meta tr.last td{ border-bottom:none; }
.t-ledger .meta .v{ font-size:11.5px; font-weight:500; margin-top:4px; line-height:1.25; }
.t-ledger .meta .v.ps-mono{ font-size:10.5px; letter-spacing:-0.2px; }
.t-ledger .meta .name{ font-size:14px; font-weight:600; letter-spacing:-0.2px; }
.t-ledger .ledger{ width:100%; margin-top:26px; table-layout:fixed; }
.t-ledger .ledger > tbody > tr > td{ vertical-align:top; }
.t-ledger .gap{ width:26px; }
.t-ledger .panel-title{ font-size:11px; font-weight:600; padding-bottom:8px; border-bottom:2px solid var(--p-ink); }
.t-ledger .panel-title span{
  float:right; font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:7.5px; letter-spacing:1px; text-transform:uppercase; color:var(--p-muted); font-weight:400; padding-top:3px;
}
.t-ledger .lines{ width:100%; margin-top:2px; }
.t-ledger .lines td{ padding:9px 0; border-bottom:1px solid var(--p-rule); font-size:11px; }
.t-ledger .lines td.amt{
  text-align:right; font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:10.5px; letter-spacing:-0.4px; white-space:nowrap; width:110px;
}
.t-ledger .lines td.zero{ color:var(--p-muted); }
.t-ledger .lines tr.sum td{ border-bottom:none; border-top:2px solid var(--p-ink); padding-top:11px; font-weight:600; font-size:11px; }
.t-ledger .lines tr.sum td.amt{ font-size:12.5px; font-weight:700; letter-spacing:-0.5px; }
.t-ledger .net{ margin-top:30px; background:var(--p-mist); border-left:3px solid var(--acc); }
.t-ledger .net table{ width:100%; }
.t-ledger .net > table > tbody > tr > td{ vertical-align:middle; padding:22px 26px; }
.t-ledger .brace{ font-size:76px; font-weight:700; color:var(--acc); line-height:.78; padding:0 4px !important; width:1px; white-space:nowrap; }
.t-ledger .net-amount{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; font-size:33px; font-weight:700;
  letter-spacing:-2px; line-height:1.05; margin-top:5px;
}
.t-ledger .net-amount i{ font-style:normal; font-size:14px; letter-spacing:0; color:var(--acc); padding-right:8px; vertical-align:2px; }
.t-ledger .net-words{ font-size:10px; color:var(--p-muted); margin-top:7px; line-height:1.35; }
.t-ledger .mathtbl{ width:auto; float:right; }
.t-ledger .mathtbl td{
  padding:0 0 0 16px; font-size:9px; line-height:1.75; color:var(--p-muted);
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; letter-spacing:-0.2px; white-space:nowrap;
}
.t-ledger .mathtbl td.n{ text-align:right; }
.t-ledger .mathtbl tr.t td{ color:var(--p-ink); font-weight:700; border-top:1px solid #C9D2EE; padding-top:3px; }
.t-ledger .dist{ margin-top:26px; }
.t-ledger .bar{ width:100%; margin-top:7px; table-layout:fixed; }
.t-ledger .bar td{ height:9px; font-size:0; line-height:0; }
.t-ledger .bar td.seg-net{ background:var(--acc); }
.t-ledger .bar td.seg-ded{ background:#CDD5EE; }
.t-ledger .bar-key{ width:100%; margin-top:7px; }
.t-ledger .bar-key td{ font-size:9px; color:var(--p-muted); }
.t-ledger .bar-key td.r{ text-align:right; }
.t-ledger .bar-key b{ color:var(--p-ink); font-weight:600; letter-spacing:-0.3px; }
.t-ledger .dot{ display:inline-block; width:6px; height:6px; margin-right:6px; background:var(--acc); }
.t-ledger .dot.ded{ background:#CDD5EE; margin-right:0; margin-left:6px; }
.t-ledger .ps-sign{ margin-top:46px; }
.t-ledger .foot{ margin-top:34px; border-top:1px solid var(--p-rule); padding-top:11px; }
.t-ledger .foot table{ width:100%; }
.t-ledger .foot td{ font-size:8px; color:var(--p-muted); line-height:1.55; }
.t-ledger .foot td.r{ text-align:right; white-space:nowrap; padding-left:20px; }
.t-ledger .foot .strong{ color:var(--p-ink); font-weight:500; }


/* ══════════════════════════════════════════════════
   TEMPLATE 2 · CORPORATE — ruled, formal, letterhead
   ══════════════════════════════════════════════════ */
.t-corporate{ padding:44px 48px 40px; }
.t-corporate .c-head{ width:100%; }
.t-corporate .c-head td{ vertical-align:top; }
.t-corporate .c-head td.r{ text-align:right; }
.t-corporate .mark{ font-size:25px; font-weight:700; letter-spacing:-.9px; line-height:1.05; }
.t-corporate .ps-logo{ max-height:52px; }
.t-corporate .c-addr{ font-size:9.5px; color:var(--p-muted); line-height:1.6; margin-top:8px; }
.t-corporate .c-title{
  display:inline-block; background:var(--acc); color:#fff; padding:7px 15px;
  font-size:12px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase;
}
.t-corporate .c-sub{ font-size:19px; font-weight:600; letter-spacing:-.4px; margin-top:10px; }
.t-corporate .c-ref{ font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; font-size:9px; color:var(--p-muted); margin-top:5px; }
.t-corporate .c-hr{ height:3px; background:var(--acc); margin:18px 0 0; }
.t-corporate .c-hr2{ height:1px; background:var(--p-rule); margin-top:2px; }

.t-corporate .c-box{ width:100%; margin-top:24px; border:1px solid var(--p-rule); table-layout:fixed; }
.t-corporate .c-box td{ border:1px solid var(--p-rule); padding:8px 11px; vertical-align:top; }
.t-corporate .c-box td.k{
  width:132px; background:var(--p-soft); font-size:9px; letter-spacing:.7px;
  text-transform:uppercase; color:var(--p-muted); font-weight:500;
}
.t-corporate .c-box td.v{ font-size:11px; font-weight:500; }
.t-corporate .c-box td.v.ps-mono{ font-size:10.5px; }

.t-corporate .c-cols{ width:100%; margin-top:22px; table-layout:fixed; }
.t-corporate .c-cols > tbody > tr > td{ vertical-align:top; }
.t-corporate .c-cols .gap{ width:20px; }
.t-corporate .c-tbl{ width:100%; border:1px solid var(--p-rule); }
.t-corporate .c-tbl th{
  background:var(--p-ink); color:#fff; font-size:9.5px; font-weight:600;
  letter-spacing:1.1px; text-transform:uppercase; padding:9px 11px; text-align:left;
}
.t-corporate .c-tbl th.r{ text-align:right; }
.t-corporate .c-tbl td{ padding:8px 11px; border-bottom:1px solid var(--p-rule); font-size:10.5px; }
.t-corporate .c-tbl td.amt{
  text-align:right; font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:10.5px; white-space:nowrap; width:104px;
}
.t-corporate .c-tbl tr:nth-child(even) td{ background:#FBFCFE; }
.t-corporate .c-tbl tr.sum td{ background:var(--p-soft) !important; border-top:1.5px solid var(--p-ink); border-bottom:none; font-weight:700; font-size:11px; }

.t-corporate .c-net{ margin-top:22px; border:1.5px solid var(--acc); }
.t-corporate .c-net table{ width:100%; }
.t-corporate .c-net td{ padding:16px 20px; vertical-align:middle; }
.t-corporate .c-net td.lab{ background:var(--acc); color:#fff; width:210px; }
.t-corporate .c-net td.lab .k{ font-size:9px; letter-spacing:1.3px; text-transform:uppercase; opacity:.75; }
.t-corporate .c-net td.lab .n{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; font-size:26px; font-weight:700;
  letter-spacing:-1.2px; margin-top:4px;
}
.t-corporate .c-net td.lab .n i{ font-style:normal; font-size:12px; letter-spacing:0; opacity:.8; padding-right:6px; }
.t-corporate .c-net .w-k{ font-size:9px; letter-spacing:1.2px; text-transform:uppercase; color:var(--p-muted); }
.t-corporate .c-net .w-v{ font-size:11.5px; font-weight:500; margin-top:5px; line-height:1.45; }
.t-corporate .c-math{ width:100%; margin-top:14px; }
.t-corporate .c-math td{ padding:0; font-size:9.5px; color:var(--p-muted); font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; }
.t-corporate .c-math td.n{ text-align:right; color:var(--p-ink); font-weight:600; }

.t-corporate .c-dist{ margin-top:22px; }
.t-corporate .bar{ width:100%; margin-top:7px; table-layout:fixed; border:1px solid var(--p-rule); }
.t-corporate .bar td{ height:11px; font-size:0; line-height:0; }
.t-corporate .bar td.seg-net{ background:var(--acc); }
.t-corporate .bar td.seg-ded{ background:#D9DFF2; }
.t-corporate .bar-key{ width:100%; margin-top:6px; }
.t-corporate .bar-key td{ font-size:9px; color:var(--p-muted); }
.t-corporate .bar-key td.r{ text-align:right; }
.t-corporate .bar-key b{ color:var(--p-ink); font-weight:600; }

.t-corporate .ps-sign{ margin-top:44px; }
.t-corporate .c-foot{ margin-top:30px; border-top:1px solid var(--p-rule); padding-top:11px; font-size:8.5px; color:var(--p-muted); line-height:1.6; }
.t-corporate .c-foot b{ color:var(--p-ink); font-weight:500; }


/* ══════════════════════════════════════════════════
   TEMPLATE 3 · MINIMAL — hairlines, air, typography
   ══════════════════════════════════════════════════ */
.t-minimal{ padding:46px 54px 36px; }
.t-minimal .m-top{ width:100%; }
.t-minimal .m-top td{ vertical-align:top; }
.t-minimal .m-top td.r{ text-align:right; }
.t-minimal .mark{ font-size:17px; font-weight:600; letter-spacing:-.4px; }
.t-minimal .ps-logo{ max-height:36px; }
.t-minimal .m-addr{ font-size:9px; color:var(--p-muted); line-height:1.6; margin-top:6px; }
.t-minimal .m-kick{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:8px; letter-spacing:2.4px; text-transform:uppercase; color:var(--p-muted);
}
.t-minimal .m-ref{ font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; font-size:9px; color:var(--p-muted); margin-top:6px; }
.t-minimal .m-period{ font-size:34px; font-weight:600; letter-spacing:-1.6px; line-height:1; margin-top:28px; }
.t-minimal .m-period b{ color:var(--acc); font-weight:600; }
.t-minimal .m-range{ font-size:10.5px; color:var(--p-muted); margin-top:8px; }
.t-minimal .m-hr{ height:1px; background:var(--p-ink); margin-top:18px; }

.t-minimal .m-meta{ width:100%; margin-top:18px; table-layout:fixed; }
.t-minimal .m-meta td{ padding:0 16px 13px 0; vertical-align:top; }
.t-minimal .m-meta .v{ font-size:11px; font-weight:500; margin-top:4px; }
.t-minimal .m-meta .v.ps-mono{ font-size:10px; }

.t-minimal .m-sec{ margin-top:15px; }
.t-minimal .m-sec-h{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:8px; letter-spacing:2.2px; text-transform:uppercase; color:var(--p-muted);
  padding-bottom:8px; border-bottom:1px solid var(--p-rule);
}
.t-minimal .m-lines{ width:100%; }
.t-minimal .m-lines td{ padding:7px 0; border-bottom:1px solid #F0F2F9; font-size:11px; }
.t-minimal .m-lines td.amt{
  text-align:right; font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:11px; white-space:nowrap; width:130px;
}
.t-minimal .m-lines td.zero{ color:#B9C0D4; }
.t-minimal .m-lines tr.sum td{ border-bottom:none; padding-top:9px; font-weight:600; }
.t-minimal .m-lines tr.sum td.amt{ font-weight:700; }

.t-minimal .m-net{ margin-top:26px; border-top:2px solid var(--p-ink); padding-top:16px; }
.t-minimal .m-net table{ width:100%; }
.t-minimal .m-net td{ vertical-align:bottom; }
.t-minimal .m-net td.r{ text-align:right; }
.t-minimal .m-net .k{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:8px; letter-spacing:2.2px; text-transform:uppercase; color:var(--p-muted);
}
.t-minimal .m-net .n{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; font-size:34px; font-weight:700;
  letter-spacing:-2px; line-height:1; margin-top:7px; color:var(--acc);
}
.t-minimal .m-net .n i{ font-style:normal; font-size:14px; letter-spacing:0; color:var(--p-muted); padding-right:8px; vertical-align:3px; }
.t-minimal .m-net .w{ font-size:10px; color:var(--p-muted); line-height:1.5; max-width:340px; }

.t-minimal .m-dist{ margin-top:20px; }
.t-minimal .bar{ width:100%; margin-top:7px; table-layout:fixed; }
.t-minimal .bar td{ height:4px; font-size:0; line-height:0; }
.t-minimal .bar td.seg-net{ background:var(--acc); }
.t-minimal .bar td.seg-ded{ background:#E6EAF6; }
.t-minimal .bar-key{ width:100%; margin-top:7px; }
.t-minimal .bar-key td{ font-size:9px; color:var(--p-muted); }
.t-minimal .bar-key td.r{ text-align:right; }
.t-minimal .bar-key b{ color:var(--p-ink); font-weight:600; }

.t-minimal .ps-sign{ margin-top:38px; }
#paper.t-minimal .ps-sign .rule{ border-bottom:1px solid var(--p-rule); }
.t-minimal .m-foot{ margin-top:24px; font-size:8.5px; color:var(--p-muted); line-height:1.6; }
.t-minimal .m-foot b{ color:var(--p-ink); font-weight:500; }


/* ══════════════════════════════════════════════════
   TEMPLATE 4 · SLATE — dark rail, modern dashboard
   ══════════════════════════════════════════════════ */
/* id in the selector so it outranks the plain `background:#fff` on #paper */
#paper.t-slate{
  display:flex; align-items:stretch;
  background:linear-gradient(to right, var(--p-ink) 0, var(--p-ink) 252px, #fff 252px);
}
.t-slate .s-rail{ flex:0 0 252px; width:252px; padding:38px 26px 34px; color:#fff; }
.t-slate .mark{ font-size:22px; font-weight:700; letter-spacing:-.8px; line-height:1.1; color:#fff; }
.t-slate .ps-logo{ max-height:44px; }
.t-slate .s-addr{ font-size:8.5px; color:#8A93B4; line-height:1.65; margin-top:10px; }
.t-slate .s-divide{ height:1px; background:rgba(255,255,255,.13); margin:22px 0; }
.t-slate .s-k{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:7px; letter-spacing:1.5px; text-transform:uppercase; color:#6F7AA0;
}
.t-slate .s-v{ font-size:11px; font-weight:500; color:#fff; margin-top:3px; line-height:1.35; }
.t-slate .s-v.ps-mono{ font-size:10px; }
.t-slate .s-item{ margin-bottom:15px; }
.t-slate .s-emp{ font-size:16px; font-weight:600; letter-spacing:-.3px; color:#fff; }
.t-slate .s-role{ font-size:10px; color:#8A93B4; margin-top:3px; }
.t-slate .s-net{ margin-top:26px; padding:16px 0 0; border-top:1px solid rgba(255,255,255,.13); }
.t-slate .s-net .n{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace; font-size:27px; font-weight:700;
  letter-spacing:-1.4px; color:var(--acc); margin-top:6px; line-height:1.05;
}
.t-slate .s-net .n i{ font-style:normal; font-size:11px; letter-spacing:0; color:#8A93B4; padding-right:6px; vertical-align:2px; }
.t-slate .s-net .w{ font-size:8.5px; color:#8A93B4; line-height:1.5; margin-top:7px; }

.t-slate .s-main{ flex:1 1 auto; padding:38px 40px 34px; min-width:0; }
.t-slate .s-kick{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:8px; letter-spacing:2.4px; text-transform:uppercase; color:var(--p-muted);
}
.t-slate .s-period{ font-size:27px; font-weight:600; letter-spacing:-.8px; margin-top:5px; line-height:1.1; }
.t-slate .s-meta{ width:100%; margin-top:18px; border-top:1px solid var(--p-rule); }
.t-slate .s-meta td{ padding:10px 12px 10px 0; border-bottom:1px solid var(--p-rule); vertical-align:top; width:50%; }
.t-slate .s-meta .v{ font-size:10.5px; font-weight:500; margin-top:3px; }
.t-slate .s-meta .v.ps-mono{ font-size:10px; }

.t-slate .s-card{ margin-top:20px; border:1px solid var(--p-rule); border-radius:6px; overflow:hidden; }
.t-slate .s-card-h{
  background:var(--p-soft); padding:9px 14px; border-bottom:1px solid var(--p-rule);
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:10px; font-weight:600;
}
.t-slate .s-card-h span{
  font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:7.5px; letter-spacing:1.1px; text-transform:uppercase; color:var(--p-muted); font-weight:400;
}
.t-slate .s-lines{ width:100%; }
.t-slate .s-lines td{ padding:8px 14px; border-bottom:1px solid #F1F3FA; font-size:10.5px; }
.t-slate .s-lines td.amt{
  text-align:right; font-family:"JetBrains Mono","DejaVu Sans Mono",monospace;
  font-size:10.5px; white-space:nowrap; width:112px;
}
.t-slate .s-lines td.zero{ color:#B9C0D4; }
.t-slate .s-lines tr.sum td{ background:var(--p-soft); border-bottom:none; border-top:1px solid var(--p-rule); font-weight:700; }

.t-slate .s-dist{ margin-top:20px; }
.t-slate .bar{ width:100%; margin-top:7px; table-layout:fixed; border-radius:3px; overflow:hidden; }
.t-slate .bar td{ height:8px; font-size:0; line-height:0; }
.t-slate .bar td.seg-net{ background:var(--acc); }
.t-slate .bar td.seg-ded{ background:#DDE2F1; }
.t-slate .bar-key{ width:100%; margin-top:6px; }
.t-slate .bar-key td{ font-size:9px; color:var(--p-muted); }
.t-slate .bar-key td.r{ text-align:right; }
.t-slate .bar-key b{ color:var(--p-ink); font-weight:600; }

.t-slate .ps-sign{ margin-top:40px; }
#paper.t-slate .ps-sign td{ padding-right:32px; }
#paper.t-slate .ps-sign td.r{ padding-right:0; padding-left:32px; }
/* narrower column here — lift the seal so it clears the caption text */
#paper.t-slate .ps-sign .stamp{ left:56%; bottom:2px; }
.t-slate .s-foot{ margin-top:26px; border-top:1px solid var(--p-rule); padding-top:10px; font-size:8px; color:var(--p-muted); line-height:1.6; }
.t-slate .s-foot b{ color:var(--p-ink); font-weight:500; }


/* ───────── print ───────── */
@media print{
  #paper{ box-shadow:none !important; }
  /* the rail is painted by the paper background, so height may collapse safely */
  #paper:not(.t-slate){ min-height:0; }
}
