/* Impressão da ficha (E6) — A4 ou Carta, colorida ou econômica, sem CDN.
   Usada por templates/character/print/ (admin e painel do jogador). Regras: fonte mínima 7 pt; bordas de 0,5 a 0,8 pt;
   nada de altura fixa com overflow escondido em texto variável (o excesso vai para "Traços completos" com "→ ver p. N");
   no modo econômico (.ink-eco) nenhum fundo. O tamanho do papel (@page size) é injetado pelo template. */

@font-face { font-family: "Mr Eaves Small Caps"; font-style: normal; font-weight: 400 900; font-display: block; src: url("../fonts/site/mr-eaves-small-caps-7eqGxh6.woff2") format("woff2"); }
@font-face { font-family: "Scaly Sans"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/site/scaly-sans-regular-XZ4oiBn.woff2") format("woff2"); }
@font-face { font-family: "Scaly Sans"; font-style: italic; font-weight: 400; font-display: block; src: url("../fonts/site/scaly-sans-italic-uYVXxVf.woff2") format("woff2"); }
@font-face { font-family: "Scaly Sans"; font-style: normal; font-weight: 700; font-display: block; src: url("../fonts/site/scaly-sans-bold-3e91RQr.woff2") format("woff2"); }

:root {
  --ink: #111;
  --line: #3a3a3a;
  --soft: #8a8a8a;
  --fill: #efe9dc;
  --paper: #fff;
  --margin: 7mm;
  --page-w: 210mm;
  --page-h: 297mm;
  --sheet-w: calc(var(--page-w) - 2 * var(--margin));
  --sheet-h: calc(var(--page-h) - 2 * var(--margin) - 1mm);
  --display: "Mr Eaves Small Caps", "Scaly Sans", Georgia, serif;
  --body: "Scaly Sans", "Helvetica Neue", Arial, sans-serif;
}
.paper-letter { --page-w: 215.9mm; --page-h: 279.4mm; }
.ink-eco { --fill: transparent; }

* { box-sizing: border-box; }
html { background: #5b5f66; }
body { margin: 0; color: var(--ink); font: 7.6pt/1.22 var(--body); background: #5b5f66; -webkit-print-color-adjust: economy; print-color-adjust: economy; }
h1, h2, h3, h4, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
b, strong { font-weight: 700; }

/* ---------- barra de opções (só na tela) ---------- */
.print-bar { position: sticky; top: 0; z-index: 10; display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; padding: 8px 14px; background: #20242b; color: #f2efe8; font: 13px/1.3 var(--body); }
.print-bar fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
.print-bar legend { float: left; margin-right: 8px; font-weight: 700; color: #d9c58a; padding: 0; }
.print-bar label { display: inline-flex; gap: 4px; align-items: center; cursor: pointer; }
.print-bar select, .print-bar button { font: inherit; padding: 3px 8px; border-radius: 6px; border: 1px solid #596070; background: #2c323c; color: inherit; }
.print-bar .go { background: #9c2f2f; border-color: #c85a5a; font-weight: 700; cursor: pointer; }
.print-bar .hint { flex-basis: 100%; color: #b7b2a6; font-size: 12px; }

/* ---------- folha ---------- */
.sheet { position: relative; width: var(--page-w); margin: 10mm auto; padding: var(--margin); background: var(--paper); box-shadow: 0 2px 14px rgb(0 0 0 / .45); }
.sheet-fixed { height: calc(var(--page-h) - 1mm); display: flex; flex-direction: column; gap: 2mm; }
.sheet-flow { min-height: calc(var(--page-h) - 1mm); }
.sheet-cards { padding: 8mm 0; }
.cards-wrap { position: relative; width: 195.4mm; height: 270.4mm; padding: 3.2mm; margin: 0 auto; }

.box { position: relative; border: .7pt solid var(--line); border-radius: 2mm; padding: 1.2mm 1.8mm 1.4mm; background: var(--paper); min-width: 0; }
.box > h3, .box-title { margin: -.2mm -.4mm 1mm; padding-bottom: .5mm; text-align: center; font: 700 8.4pt/1.1 var(--display); letter-spacing: .06em; border-bottom: .5pt solid var(--line); break-after: avoid; overflow-wrap: anywhere; }
.label { font: 400 7pt/1.1 var(--display); letter-spacing: .08em; color: #333; }
.soft { color: var(--soft); }
.num { font-family: var(--display); font-weight: 700; }
.write { display: inline-block; min-width: 9mm; border-bottom: .5pt solid var(--line); height: 3.6mm; vertical-align: bottom; }
.write.wide { min-width: 16mm; }
.lines { background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 4.6mm, #9a9a9a 4.6mm, #9a9a9a calc(4.6mm + .4pt)); background-size: 100% 4.6mm; }
.ink-eco .lines { background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 4.6mm, #777 4.6mm, #777 calc(4.6mm + .4pt)); }

/* marcas a lápis */
.dia, .cir, .bx { display: inline-block; flex: none; vertical-align: middle; }
.dia { width: 2.5mm; height: 2.5mm; margin: 0 .5mm; border: .6pt solid var(--ink); transform: rotate(45deg) scale(.78); }
.dia.on { background: var(--ink); }
.cir { width: 2.3mm; height: 2.3mm; margin: 0 .6mm; border: .5pt solid var(--soft); border-radius: 50%; }
.bx { width: 2.6mm; height: 2.6mm; margin: 0 .5mm 0 0; border: .6pt solid var(--ink); border-radius: .3mm; }
.marks { white-space: nowrap; }

/* ================= FRENTE ================= */
.f-head { display: grid; grid-template-columns: 1fr 19mm 19mm 40mm 21mm 31mm; gap: 2mm; align-items: stretch; flex: none; }
.f-id { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2mm 3mm; align-content: space-between; padding-top: 1.6mm; }
.f-id .wide { grid-column: 1 / -1; }
.f-id .fld { border-bottom: .5pt solid var(--line); min-height: 4.2mm; padding: 0 .4mm; font-size: 8.4pt; display: flex; align-items: flex-end; overflow-wrap: anywhere; }
.f-id .fld.name { font: 700 13pt/1.05 var(--display); min-height: 6.4mm; letter-spacing: .02em; }
.f-id .cap { display: block; margin-top: .2mm; }
.f-level { border: .7pt solid var(--line); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1mm; background: var(--fill); }
.f-level .big { font: 700 17pt/1 var(--display); }
.f-level .xp { font-size: 7pt; border-top: .4pt solid var(--line); margin-top: .6mm; padding-top: .3mm; min-width: 11mm; }
.f-ac { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: .8pt solid var(--line); border-radius: 1mm 1mm 50% 50% / 1mm 1mm 40% 40%; padding: 1mm 1mm 3mm; background: var(--fill); }
.f-ac .big { font: 700 18pt/1 var(--display); }
.f-ac .small { font-size: 7pt; line-height: 1.05; }
.f-hp { padding-bottom: 1mm; display: flex; flex-direction: column; }
.f-hp .cells { flex: 1; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 1.5mm; align-items: end; text-align: center; }
.f-hp .cell { border-bottom: .5pt solid var(--line); min-height: 8mm; display: flex; align-items: flex-end; justify-content: center; font: 700 14pt/1 var(--display); }
.f-hp .cell.big { font-size: 15pt; }
.f-death h3, .f-dv h3 { font-size: 7.4pt; letter-spacing: .02em; }
.f-dv, .f-death { display: flex; flex-direction: column; gap: 1mm; text-align: center; }
.f-dv .max { font: 700 11pt/1.1 var(--display); border-bottom: .5pt solid var(--line); padding-bottom: .3mm; }
.f-death .row { display: flex; align-items: center; justify-content: space-between; gap: 1mm; font-size: 7pt; }
.f-death .state { font: 700 8.6pt/1 var(--display); letter-spacing: .08em; }
.f-death .rule { font-size: 7pt; line-height: 1.1; color: #333; }

.f-body { flex: 1 1 0; min-height: 0; display: grid; grid-template-columns: 35mm 35mm minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; gap: 2mm; }
.f-colA, .f-colB { display: flex; flex-direction: column; gap: 1.6mm; min-height: 0; }
.f-colA { grid-area: 1 / 1; }
.f-colB { grid-area: 1 / 2; }
.f-colC { grid-area: 1 / 3 / 3 / 4; display: flex; flex-direction: column; gap: 2mm; min-width: 0; min-height: 0; }
.f-equip { grid-area: 2 / 1 / 3 / 3; }

.abil { flex: 1 1 auto; display: flex; flex-direction: column; padding-bottom: 1mm; }
.abil .core { display: flex; align-items: center; justify-content: center; gap: 1.5mm; margin: .6mm 0 1.2mm; flex: 1; }
.abil .mod { width: 15mm; height: 15mm; border: .8pt solid var(--line); border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 17pt/1 var(--display); background: var(--fill); }
.abil .score { min-width: 8.5mm; text-align: center; border: .7pt solid var(--line); border-radius: 1.4mm; padding: .6mm .6mm .3mm; font: 700 10pt/1.05 var(--display); }
.abil .sub { display: block; font: 400 7pt/1 var(--display); letter-spacing: .06em; text-align: center; color: #333; }
.abil .rows { margin-top: auto; }
.abil .rows li { display: flex; align-items: center; gap: .6mm; min-height: 3.7mm; font-size: 7.6pt; }
.abil .rows .v { display: inline-block; min-width: 6.6mm; text-align: center; border-bottom: .4pt solid var(--soft); font-weight: 700; }
.abil .rows .n { flex: 1; min-width: 0; }
.abil .rows .prof .n { font-weight: 700; }
.abil .rows .save .n { font-style: italic; }
.tag { display: inline-block; margin-left: .6mm; padding: 0 .7mm; border: .4pt solid var(--line); font-size: 7pt; line-height: 1.15; font-weight: 700; }
.mini { text-align: center; padding-bottom: 1mm; }
.mini .big { font: 700 15pt/1.1 var(--display); }
.mini .write-box { margin: .6mm auto 0; width: 9mm; height: 7mm; border: .8pt solid var(--line); transform: rotate(45deg) scale(.78); }
.legend { font-size: 7pt; color: #333; line-height: 1.25; }

.f-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6mm; flex: none; }
.f-strip .box { text-align: center; padding: 1mm 1mm 1.2mm; }
.f-strip .v { font: 700 14pt/1.1 var(--display); display: block; margin-top: .3mm; }
.f-strip .v.t { font-size: 10.5pt; line-height: 1.45; }
.f-strip .small { font-size: 7pt; }

.f-attacks { flex: none; }
.atk { width: 100%; border-collapse: collapse; table-layout: fixed; }
.atk th { font: 400 7pt/1.1 var(--display); letter-spacing: .05em; text-align: left; border-bottom: .5pt solid var(--line); padding: 0 .8mm .3mm; }
.atk td { border-bottom: .4pt solid #999; height: 6mm; padding: .2mm .8mm; vertical-align: middle; font-size: 7.6pt; line-height: 1.15; }
.atk .c { text-align: center; }
.atk .b { font-weight: 700; }
.atk tr { break-inside: avoid; }
.atk .sm { font-size: 7pt; color: #333; }

.f-module .scale { display: grid; grid-template-columns: repeat(11, 1fr); gap: 0; text-align: center; margin: .6mm 0 .8mm; }
.f-module .scale span { display: flex; flex-direction: column; align-items: center; font: 700 8.5pt/1.1 var(--display); border-left: .4pt solid #bbb; padding: .2mm 0 .6mm; }
.f-module .scale span:first-child { border-left: 0; }
.f-module .bands { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1mm; }
.f-module .bands div { border-top: 1pt solid var(--line); padding-top: .4mm; font-size: 7pt; line-height: 1.15; }
.f-module .legend { margin: .8mm 0 0; font-size: 6.4pt; line-height: 1.15; }
.f-module .legend b { font-weight: 700; }
.f-module .bands b { display: block; font: 700 7.4pt/1.1 var(--display); letter-spacing: .04em; }
.f-module .trackers { display: flex; flex-wrap: wrap; gap: .6mm 4mm; align-items: center; font-size: 7.6pt; margin-bottom: .6mm; }

.f-feats { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; }
.ft-cols { column-count: 2; column-gap: 3.2mm; column-rule: .4pt solid #bbb; flex: 1; }
.ft { break-inside: avoid; margin-bottom: 1.1mm; }
.ft .t { font-weight: 700; }
.ft .meta { font-style: italic; color: #333; font-size: 7pt; }
.ft p { font-size: 7.2pt; line-height: 1.2; }
.ft-names { line-height: 1.45; }
.more { color: #333; font-style: italic; white-space: nowrap; }
.tracker-line { margin-top: .6mm; padding-top: .6mm; border-top: .4pt solid #bbb; break-inside: avoid; }

.f-low { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm; flex: none; height: 54mm; }
.f-low .box { overflow: hidden; }
.f-low .ft-cols { column-count: 1; }

.f-equip .tr { display: flex; flex-wrap: wrap; align-items: center; gap: 0 2.6mm; border-bottom: .5pt solid var(--line); padding: .4mm 0 .8mm; margin-bottom: .8mm; }
.f-equip .tr .label { margin-right: 1mm; }
.f-equip .sec { margin-bottom: .8mm; }
.f-equip .sec .label { display: block; }
.f-equip .sec .txt { min-height: 6.6mm; padding-bottom: .4mm; border-bottom: .4pt solid #999; font-size: 7.6pt; }
.f-equip .legend { margin-top: .6mm; }

/* ================= VERSO ================= */
.b-grid { flex: 1 1 0; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 68mm; gap: 2.2mm; }
.b-left { display: flex; flex-direction: column; gap: 2mm; min-height: 0; min-width: 0; }
.b-right { display: flex; flex-direction: column; gap: 2mm; min-height: 0; min-width: 0; }
.b-top { display: grid; grid-template-columns: 52mm 1fr; gap: 2mm; flex: none; }
.b-cast .row { display: flex; align-items: center; gap: 2mm; border-bottom: .4pt solid #999; min-height: 8.6mm; }
.b-cast .row:last-child { border-bottom: 0; }
.b-cast .v { width: 11mm; text-align: center; font: 700 14pt/1 var(--display); border: .7pt solid var(--line); border-radius: 1.4mm; padding: .6mm 0; background: var(--fill); }
.b-cast .v.t { font-size: 9pt; }
.b-cast .label { line-height: 1.15; }
.b-slots .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4mm 3mm; }
.b-slots .lv { display: grid; grid-template-columns: auto 1fr; gap: 0 1.2mm; align-items: center; font-size: 7.6pt; }
.b-slots .lv .label { grid-column: 1 / -1; }
.b-slots .tot { display: inline-block; min-width: 4.5mm; text-align: center; border-bottom: .5pt solid var(--line); font-weight: 700; }
.b-slots .diamonds { min-height: 3.6mm; white-space: nowrap; }
.b-slots .pact { margin-top: 1mm; font-size: 7.6pt; border-top: .4pt solid #999; padding-top: .8mm; }
.b-notes { flex: none; }
.b-notes .lines { height: 100%; min-height: 22mm; }

.sp { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; }
.sp-head, .sp-row { display: grid; grid-template-columns: 8.4mm minmax(0, 1.55fr) 15mm 15mm 18mm minmax(0, 1fr); gap: 0 1.6mm; align-items: end; }
.sp-head { font: 400 7pt/1.05 var(--display); letter-spacing: .04em; border-bottom: .5pt solid var(--line); padding-bottom: .4mm; }
.sp-rows { flex: 1; display: flex; flex-direction: column; }
.sp-row { flex: 1 1 0; min-height: 5.4mm; align-items: center; border-bottom: .4pt solid #aaa; font-size: 7.6pt; line-height: 1.1; }
.sp-row > span { min-width: 0; overflow-wrap: anywhere; }
.sp-row .lv { text-align: center; }
.sp-row .nm { font-weight: 700; }
.sp-row .sm7 { font-size: 7pt; }
.sp-row .crm { display: flex; justify-content: space-between; font-size: 7pt; color: #333; }
.sp-head .lv0 { text-align: center; }
.sp-row .crm i.dia { margin: 0; transform: rotate(45deg) scale(.62); }
.sp-row .nt { font-size: 7pt; }
.sp-foot { margin-top: .8mm; font-size: 7pt; color: #333; }
.sp-cont .sp-row { flex: 0 0 auto; min-height: 5.6mm; }

.b-r-box { display: flex; flex-direction: column; }
.b-r-box .fill { flex: 1; }
.b-appear { flex: none; }
.b-appear .inner { display: grid; grid-template-columns: 1fr 22mm; gap: 1.6mm; min-height: 30mm; }
.b-appear .portrait { width: 22mm; height: 28mm; border: .6pt solid var(--line); object-fit: cover; background: #fafafa; }
.b-hist { flex: 1 1 auto; min-height: 0; }
.b-hist dl { margin: 0; display: grid; gap: .8mm; }
.b-hist dt { font: 400 7pt/1.1 var(--display); letter-spacing: .06em; color: #333; }
.b-hist dd { margin: 0 0 .4mm; font-size: 7.4pt; line-height: 1.2; min-height: 4mm; border-bottom: .4pt solid #bbb; overflow-wrap: anywhere; }
.b-hist .story { font-size: 7.4pt; line-height: 1.2; min-height: 18mm; border-bottom: .4pt solid #bbb; margin-bottom: .8mm; overflow-wrap: anywhere; }
.b-eq { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.eq-list li { display: grid; grid-template-columns: 6mm 1fr 9mm; gap: 1mm; border-bottom: .3pt solid #bbb; min-height: 3.5mm; font-size: 7.4pt; line-height: 1.15; }
.eq-list .q { text-align: center; }
.eq-list .w { text-align: right; color: #333; }
.eq-head { display: grid; grid-template-columns: 6mm 1fr 9mm; gap: 1mm; font: 400 7pt/1.1 var(--display); letter-spacing: .05em; }
.b-attune { margin-top: auto; padding-top: 1mm; }
.b-attune li { display: flex; align-items: center; gap: 1mm; min-height: 4.4mm; border-bottom: .4pt solid #999; font-size: 7.4pt; }
.b-coins { flex: none; }
.b-coins .coins { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.4mm; text-align: center; }
.b-coins .coin { border: .7pt solid var(--line); border-radius: 1.2mm; min-height: 8mm; display: flex; align-items: center; justify-content: center; font: 700 9pt/1 var(--display); }
.b-coins .label { display: block; }
.b-foot { flex: none; text-align: right; font-size: 7pt; color: #444; }

/* ================= CARTÕES ================= */
.cards-grid { display: grid; grid-template-columns: repeat(3, 63mm); grid-auto-rows: 88mm; width: 189mm; }
.card { position: relative; width: 63mm; height: 88mm; padding: 2.4mm 2.6mm; border: .4pt solid var(--soft); background: var(--paper); display: flex; flex-direction: column; overflow: hidden; break-inside: avoid; }
.card-head { border-bottom: .6pt solid var(--line); padding-bottom: .8mm; margin-bottom: 1mm; }
.card-title { font: 700 10.5pt/1.05 var(--display); letter-spacing: .03em; }
.card-title small { font: italic 7pt var(--body); letter-spacing: 0; }
.card-kind { font: italic 7pt/1.2 var(--body); color: #333; display: flex; justify-content: space-between; gap: 2mm; }
.card-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .2mm 2mm; font-size: 7.2pt; line-height: 1.18; margin-bottom: 1mm; padding-bottom: .8mm; border-bottom: .4pt solid #999; }
.card-stats .full { grid-column: 1 / -1; }
.card-stats b { font-weight: 700; }
.card-body { flex: 1; min-height: 0; line-height: 1.17; }
.card-body p, .card-body ul, .card-body ol, .card-body table { margin: 0 0 .9mm; }
.card-body ul { list-style: disc; padding-left: 3mm; }
.card-body ol { list-style: decimal; padding-left: 3mm; }
.card-body table { border-collapse: collapse; width: 100%; }
.card-body th, .card-body td { border: .3pt solid #999; padding: 0 .6mm; text-align: left; font-size: inherit; }
.card-body .higher { border-top: .4pt solid #999; padding-top: .6mm; margin-top: .8mm; }
.card-body .higher-title { font-weight: 700; font-style: italic; }
.card.f75 .card-body { font-size: 7.5pt; }
.card.f70 .card-body { font-size: 7pt; }
.card.f65 .card-body { font-size: 6.6pt; }
.card-foot { flex: none; display: flex; justify-content: space-between; font-size: 7pt; color: #444; margin-top: .6mm; }
.cards-empty { padding: 20mm; text-align: center; font-size: 10pt; }
.crop { position: absolute; background: var(--ink); }
.crop.v { width: .4pt; height: 2.4mm; margin-left: -.2pt; }
.crop.h { height: .4pt; width: 2.4mm; margin-top: -.2pt; }

/* ================= TRAÇOS COMPLETOS ================= */
.full-title { font: 700 14pt/1.1 var(--display); letter-spacing: .06em; border-bottom: .8pt solid var(--line); padding-bottom: 1mm; margin-bottom: 2mm; display: flex; justify-content: space-between; align-items: baseline; }
.full-title small { font: 400 8pt var(--body); letter-spacing: 0; color: #333; }
.full-cols { column-count: 2; column-gap: 6mm; column-rule: .3pt solid var(--soft); }
.full-group { font: 700 9.4pt/1.1 var(--display); letter-spacing: .08em; margin: 2mm 0 1.2mm; padding-bottom: .4mm; border-bottom: .5pt solid var(--line); break-after: avoid; column-span: none; }
.full-group:first-child { margin-top: 0; }
.full-item { break-inside: auto; margin-bottom: 2mm; orphans: 3; widows: 3; }
.full-item h4 { font: 700 8.8pt/1.15 var(--display); letter-spacing: .03em; break-after: avoid; }
.full-item h4 small { font: italic 7pt var(--body); letter-spacing: 0; color: #333; }
.md { font-size: 7.6pt; line-height: 1.24; }
.md p, .md ul, .md ol, .md table { margin: 0 0 1mm; }
.md ul { list-style: disc; padding-left: 3.6mm; }
.md ol { list-style: decimal; padding-left: 3.6mm; }
.md table { border-collapse: collapse; width: 100%; break-inside: avoid; }
.md th, .md td { border: .4pt solid var(--soft); padding: 0 1mm; text-align: left; font-size: 7.2pt; }
.md th { background: var(--fill); }
.md h1, .md h2, .md h3, .md h4, .md h5 { font: 700 8pt/1.2 var(--body); margin: 1mm 0 .4mm; }
.lore-full { margin-bottom: 1.6mm; }
.lore-full h4 { font: 700 8.4pt/1.15 var(--display); letter-spacing: .05em; }
.lore-full div { white-space: pre-line; font-size: 7.6pt; line-height: 1.25; overflow-wrap: anywhere; }

/* ================= INVENTÁRIO ================= */
.inv { width: 100%; border-collapse: collapse; table-layout: fixed; }
.inv th { font: 400 7pt/1.1 var(--display); letter-spacing: .05em; text-align: left; border-bottom: .7pt solid var(--line); padding: 0 1mm .5mm; }
.inv td { height: 6.4mm; padding: .2mm 1mm; border-bottom: .4pt solid #999; font-size: 7.8pt; line-height: 1.15; vertical-align: middle; overflow-wrap: anywhere; }
.inv tr { break-inside: avoid; }
.inv .c { text-align: center; }
.inv .r { text-align: right; }
.inv .sm { font-size: 7pt; color: #333; }
.inv-total { display: flex; gap: 8mm; flex-wrap: wrap; align-items: baseline; margin-top: 2.4mm; font-size: 8.4pt; }
.inv-total b { font: 700 11pt var(--display); }

/* ================= DIÁRIO ================= */
.journal { flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; gap: 0; }
.j-entry { flex: 1 1 0; min-height: 26mm; border-bottom: .6pt solid var(--line); display: flex; flex-direction: column; padding-top: 1.2mm; }
.j-entry .top { display: grid; grid-template-columns: 34mm 1fr 30mm; gap: 3mm; align-items: end; font-size: 7.6pt; }
.j-entry .top span { display: flex; gap: 1.4mm; align-items: flex-end; }
.j-entry .top i { flex: 1; border-bottom: .5pt solid var(--line); min-height: 4mm; }
.j-entry .notes { flex: 1; margin-top: .6mm; }

/* ================= IMPRESSÃO ================= */
@media print {
  html, body { background: #fff; }
  .no-print { display: none !important; }
  .sheet { margin: 0; padding: 0; box-shadow: none; width: auto; break-after: page; break-inside: auto; }
  .sheet-cards { width: auto; padding: 0; }
  .sheet-fixed { height: var(--sheet-h); overflow: visible; }
  .sheet-flow { min-height: 0; }
  .sheet:last-child { break-after: auto; }
  .sheet-cards { page: cards; }
  .box, .card, .ft, .atk tr, .inv tr, .j-entry { break-inside: avoid; }
  h2, h3, h4, .box-title, .full-group { break-after: avoid; }
}
