/* A4 계약서 시트. 종이는 화면 테마와 상관없이 항상 흰 바탕에 검은 글씨로 고정한다. */
@page { size: A4; margin: 0; }

.sheets { width: 210mm; transform-origin: top left; }
.sheet {
  width: 210mm; height: 297mm; box-sizing: border-box;
  padding: 10mm 12.5mm 0; position: relative; overflow: hidden;
  background: #fff; color: #111;
  font-family: var(--font-doc, 'Nanum Gothic', 'Malgun Gothic', sans-serif);
  font-size: 9.4pt; line-height: 1.42; letter-spacing: -0.015em;
  word-break: keep-all; overflow-wrap: break-word;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.18), 0 10px 30px rgb(0 0 0 / 0.10);
}
.sheet + .sheet { margin-top: 10mm; }
.sheet-body { height: 278mm; overflow: hidden; }
.sheet.tight .sheet-body { zoom: 0.96; width: calc(185mm / 0.96); height: calc(278mm / 0.96); }
.sheet.tighter .sheet-body { zoom: 0.92; width: calc(185mm / 0.92); height: calc(278mm / 0.92); }
.pgno { position: absolute; left: 0; right: 0; bottom: 6mm; text-align: center; font-size: 8.5pt; letter-spacing: 0.05em; }
.sheet p { margin: 0; }
.sheet b, .sheet strong { font-weight: 700; }

/* ---------- 값 칸 ---------- */
.v {
  display: inline-block; vertical-align: bottom; width: var(--w, 20mm);
  white-space: nowrap; overflow: hidden; text-align: center; line-height: inherit;
  text-indent: 0; letter-spacing: 0;
}
.v.l { text-align: left; }
.v.r { text-align: right; }
.v.blk { display: block; width: auto; }
.v.ul { border-bottom: 0.6pt solid #000; }
.v.hint { color: #9b9b9b; letter-spacing: -0.02em; }
.v.ml { display: block; width: auto; white-space: normal; height: var(--h, 9mm); text-align: left; }
.fill { flex: 1 1 auto; min-width: 0; width: auto; }
.row { display: flex; align-items: baseline; gap: 1mm; }

/* 체크 상자: 글꼴에 의존하지 않도록 선으로 그린다 */
.cb {
  display: inline-block; position: relative; width: 0.92em; height: 0.92em;
  border: 0.8pt solid #000; vertical-align: -0.12em; margin: 0 0.22em 0 0.05em; background: #fff;
}
.cb.on::after {
  content: ''; position: absolute; left: 0.24em; top: -0.12em; width: 0.28em; height: 0.66em;
  border: solid #000; border-width: 0 0.17em 0.17em 0; transform: rotate(40deg);
}
/* 도장 표시 (인) */
.in {
  display: inline-grid; place-items: center; width: 1.45em; height: 1.45em; border: 0.7pt solid #000; border-radius: 50%;
  font-size: 0.72em; line-height: 1; vertical-align: 0.05em; letter-spacing: 0;
}

/* ---------- 표 ---------- */
.t { width: 100%; border-collapse: collapse; table-layout: fixed; border: 1.1pt solid #000; }
.t + .t { border-top: 0; }
.t th, .t td { border: 0.6pt solid #000; padding: 0.7mm 1.6mm; height: 6.4mm; vertical-align: middle; }
.t th { background: #efefef; font-weight: 400; text-align: center; }
.t td.lab { text-align: center; }
.j { text-align: justify; text-align-last: justify; }
.t th.j, .t td.j { padding-inline: 3mm; }
.t.dot { border: 0.9pt dashed #000; }
.t.dot th, .t.dot td { border: 0.7pt dashed #555; background: #fff; }
.small { font-size: 8.2pt; line-height: 1.35; letter-spacing: -0.04em; }
.gray { color: #9b9b9b; }

/* ---------- 1쪽 ---------- */
.p1-notice {
  border: 1pt dashed #b8b8b8; padding: 1mm 2mm; font-size: 8.6pt; line-height: 1.4; color: #8a1a7a; letter-spacing: -0.03em;
}
.p1-notice b { color: #8a1a7a; }
.p1-head { position: relative; height: 13mm; display: grid; place-items: center; }
.doc-title { margin: 0; font-size: 20pt; font-weight: 800; letter-spacing: 0.02em; }
.kind { position: absolute; right: 2mm; top: 1.5mm; font-size: 9.6pt; line-height: 1.45; }
.parties { border: 1.1pt solid #000; padding: 0.8mm 3mm; font-size: 9.8pt; letter-spacing: -0.01em; white-space: nowrap; text-align: center; overflow: hidden; }
.sec-h { margin: 3.2mm 0 1.2mm; font-size: 11.5pt; font-weight: 400; letter-spacing: 0.04em; }
.renew .sub { font-size: 8.8pt; padding-left: 4mm; }
.renew .sub2 { font-size: 8.8pt; padding-left: 7mm; }
.tax td { vertical-align: top; }
.tax th { font-weight: 700; }
.fixed-date { text-align: center; vertical-align: middle !important; background: #fafafa; }
.fd-title { font-weight: 700; font-size: 10pt; margin-bottom: 3mm; }
.fd-note { color: #9b9b9b; font-size: 7.6pt; line-height: 1.35; text-align: left; }
.sig-line { display: inline-block; width: 26mm; border-bottom: 0.6pt solid #000; height: 1em; vertical-align: -0.15em; }

.art { padding-left: 0.95em; text-indent: -0.95em; margin-top: 1.6mm !important; }
.art > b:first-child { font-weight: 700; }
.pay td { padding-block: 0.4mm; }
.mg-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 3mm; margin: 0.6mm 0; }
.mi { white-space: nowrap; }
.mi .ml { display: inline-block; width: 25mm; }
.mi + .mi:nth-child(2n) { border-left: 0; }
.mg-grid .mi:nth-child(odd) { border-right: 0.6pt solid #000; padding-right: 2mm; }

/* ---------- 2쪽 ---------- */
.clauses { font-size: 9.1pt; line-height: 1.38; }
.sheet .clauses .art { margin-top: 1.1mm !important; }
.para { padding-left: 0.95em; margin-top: 0.6mm !important; }
.burden { margin: 1mm 0; }
.burden th { width: 28mm; font-weight: 700; }
.paren { display: flex; align-items: stretch; gap: 1mm; }
.paren > span:first-child { align-self: flex-start; }
.paren > span:last-child { align-self: flex-end; }
.special { border: 1pt dashed #000; background: #e8eef7; padding: 1.6mm 3mm; }
.special ul { margin: 0; padding-left: 4mm; }
.special li { margin: 0.9mm 0; }
.special li.note { list-style: none; margin-left: -2mm; font-size: 9pt; }

/* ---------- 3쪽 ---------- */
.extra { padding: 0; }
.extra-h { color: #9b9b9b; padding: 1mm 8mm 0; font-size: 9pt; }
.extra-text {
  display: block; white-space: pre-wrap; text-align: left; min-height: 20mm;
  margin: 0 8mm 1.5mm; line-height: 5mm; font-size: 9.2pt;
  background-image: linear-gradient(to top, #9a9a9a 0.5pt, transparent 0.5pt);
  background-size: 100% 5mm; background-repeat: repeat-y;
}
.closing { margin-top: 6mm !important; font-size: 10pt; font-weight: 700; letter-spacing: -0.02em; }
.closing .cdate { float: right; font-weight: 400; margin-top: 0; }
.sign { margin-top: 2.5mm; }
.sign + .sign { margin-top: 0; }
.sign th.vlab { background: #efefef; font-weight: 400; line-height: 1.25; padding: 0; }
.sign td, .sign th { height: 8.2mm; }
.sign td.lab { background: #fff; }
.sign .seal { text-align: center; line-height: 1.9; font-size: 9pt; }
.sign.bk td.lab { font-size: 8.6pt; padding-inline: 0.6mm; letter-spacing: -0.03em; }
.sign.bk td.lab.j { padding-inline: 2.2mm; }
.sign .stamp { white-space: nowrap; }

/* ---------- 별지1 ---------- */
.ap-tag { font-size: 9pt; margin-bottom: 1mm; }
.ap-banner {
  background: #5a4fae; color: #fff; text-align: center; font-weight: 800; font-size: 13pt; letter-spacing: 0.18em;
  padding: 1.6mm 0; border: 1.5mm solid #b9b3e0; border-width: 1.2mm 1.6mm;
}
.ap-box { position: relative; border: 2pt solid #6f6f6f; border-radius: 4mm; padding: 5mm 3mm 2mm; margin-top: 6mm; font-size: 9pt; line-height: 1.46; }
.ap-box-t { position: absolute; top: -3.2mm; left: 10mm; background: #fff; padding: 0 3mm; font-size: 12pt; font-weight: 800; letter-spacing: 0.06em; line-height: 1.2; }
.ap-box h4 { margin: 1.4mm 0 0.6mm; font-size: 9.6pt; font-weight: 800; }
.ap-box ol { list-style: none; margin: 0; padding: 0; }
.ap-box li { padding-left: 5mm; text-indent: -5mm; margin: 0.6mm 0 0.6mm 3mm; }
.ap-box .star { padding-left: 7mm; font-size: 8.4pt; margin: 0.2mm 0 0.6mm; }
.ap-box .p { padding-left: 3mm; margin: 0.5mm 0; }
.ap-foot {
  margin-top: 5mm; background: #5a4fae; color: #fff; text-align: center; font-size: 9.8pt; letter-spacing: 0.06em; line-height: 1.5;
  padding: 1mm 0; border: 1.2mm solid #b9b3e0; border-width: 1mm 1.6mm;
}

/* ---------- 별첨(특약 계속) ---------- */
.cont-sheet .sheet-body { height: 272mm; }
.cont-h { font-size: 12pt; font-weight: 800; margin: 2mm 0 1mm; }
.cont-note { font-size: 8.8pt; color: #555; margin-bottom: 2mm; }
.cont-box { border: 1pt dashed #000; background: #e8eef7; padding: 2mm 0; }

/* ---------- 별지2 계약갱신 거절통지서 ---------- */
.rf { font-size: 9.6pt; line-height: 1.5; }
.rf-title { text-align: center; font-size: 20pt; font-weight: 800; margin: 0 0 4mm; letter-spacing: 0.02em; }
.rf-parties td, .rf-parties th { height: 7.6mm; }
.rf-parties th.vlab { background: #efefef; font-weight: 700; line-height: 1.3; padding: 0; }
.rf-parties th.rf-th { background: #efefef; font-weight: 700; padding-inline: 3mm; white-space: nowrap; }
.rf-notice { border: 1.1pt solid #000; margin-top: 5mm; padding: 2.5mm 3mm; line-height: 1.95; font-size: 9.8pt; }
.rf-tab { display: inline-block; margin-top: 6mm; border: 1.1pt solid #000; border-bottom: 0; padding: 1.2mm 3mm; background: #efefef; font-size: 9.4pt; }
.rf-reasons { border: 1.1pt solid #000; padding: 2mm 3mm; line-height: 1.72; }
.rf-reasons .ind { padding-left: 4mm; }
.rf-reasons .sub7 { padding-left: 13mm; text-indent: -10mm; line-height: 1.6; margin: 0.5mm 0 !important; }
.rf-detail-h { margin-top: 5mm; font-weight: 700; text-decoration: underline; text-underline-offset: 2pt; }
.v.ml.rf-detail { margin-top: 1mm; line-height: 1.8; white-space: pre-wrap; }
.rf-detail.empty { background-image: linear-gradient(to top, #8a8a8a 0.5pt, transparent 0.5pt); background-size: 100% 8mm; }
.rf-note { color: #9b9b9b; font-size: 8.4pt; line-height: 1.4; border-top: 0.6pt dotted #777; border-bottom: 0.6pt dotted #777; padding: 1mm 0; }
.rf-sign { margin-top: 6mm; }
.rf-sign td { height: 9mm; padding-inline: 2.5mm; }

/* ---------- 법정 서식(민간임대 표준임대차계약서 등) ---------- */
.sheet.lf { padding: 11mm 18mm 0; font-size: 9.6pt; line-height: 1.5; letter-spacing: -0.02em; }
.lf .sheet-body { height: 270mm; }
.lf-law { font-size: 8.4pt; }
.lf-rev { color: #1f3fd1; }
.lf-title { text-align: center; font-size: 16pt; font-weight: 800; letter-spacing: 0.32em; margin: 2.5mm 0 1.5mm; }
.lf-pg { text-align: right; font-size: 7.8pt; border-bottom: 1pt solid #000; padding-bottom: 0.4mm; margin-bottom: 2mm; }
.lf-foot { position: absolute; left: 18mm; right: 18mm; bottom: 8mm; border-top: 0.6pt solid #000; text-align: right; font-size: 7.6pt; padding-top: 0.4mm; }
.lf-intro { padding: 0 2mm; line-height: 1.95; }
.lf-note { padding: 0 2mm 0 6.5mm; text-indent: -4.5mm; font-size: 8.8pt; line-height: 1.8; }
.lf-cdate { text-align: right; padding-right: 6mm; margin-top: 1mm !important; }
.lf-h { font-size: 10pt; font-weight: 800; margin: 2.5mm 0 1mm; }
.lf-h-sub { font-weight: 400; font-size: 9pt; }

.lf-t { width: 100%; border-collapse: collapse; table-layout: fixed; }
.lf-t td { border: 0.6pt solid #777; padding: 0.8mm 1.6mm; height: 7.6mm; vertical-align: middle; }
.lf-t td.lab { text-align: center; line-height: 1.3; }
.lf-t td.c { text-align: center; }
.lf-t.open { border-top: 1.1pt solid #000; border-bottom: 1.1pt solid #000; }
.lf-t.open td { border-color: #8a8a8a; }
.lf-t.open td.el { border-left: 0; }
.lf-t.open td.er { border-right: 0; }
.lf-t.open tr.grp td { border-top: 0.8pt solid #333; }
.lf-t.grid { border: 1pt solid #000; }
.lf-t.grid td { border-color: #000; }
.sig { color: #8c8c8c; font-size: 7.8pt; white-space: nowrap; letter-spacing: 0; }
.lf-signline .sig { margin-left: 4mm; }

.lf-box { border: 0.8pt solid #000; padding: 1mm 2.2mm 1.5mm; margin-top: 4mm; line-height: 1.62; }
.lf-dia { padding-left: 3.6mm; text-indent: -3.6mm; }
.lf-o { padding-left: 2mm; margin-top: 0.4mm !important; }
.lf-dash { padding-left: 6.5mm; text-indent: -2.6mm; }

.lf-house td { padding: 0.45mm 1.4mm; height: 6mm; }
.lf-house td.lab { font-size: 9.2pt; }
.lf-house td.small2 { font-size: 8.4pt; line-height: 1.25; }
.lf-house .types, .lf-house .kinds, .lf-house .build { white-space: nowrap; }
.lf-house .kinds { line-height: 1.3; font-size: 9.2pt; }
.lf-house .build { line-height: 1.6; padding-left: 4mm; }
.lf-house .ymd { text-align: center; white-space: nowrap; }
.lf-house .star { font-size: 9pt; padding-left: 4mm; text-indent: -2.4mm; }
.lf-house .top { vertical-align: top; }
.lf-house .lien { padding-left: 2mm; line-height: 1.35; }
.lf-house .gap { display: inline-block; width: 46mm; }
.lf-house tr.dotrow td { border-bottom-style: dotted; }
.lf-house .exempt { line-height: 1.28; padding-left: 2mm; }
.lf-house .star2 { font-size: 8.2pt; line-height: 1.3; padding-left: 2.6mm; text-indent: -2.6mm; }
.lf-notes { font-size: 8.3pt; line-height: 1.32; margin-top: 0.6mm; }
.lf-notes p { padding-left: 2.6mm; text-indent: -2.6mm; }
.lf-money td, .lf-pay td { height: 6mm; padding: 0.3mm 1.4mm; white-space: nowrap; }

/* 대괄호 선택칸 [ √ ] */
span.bk { white-space: nowrap; }
span.bk::before { content: '['; }
span.bk::after { content: ']'; }
span.bk > i { display: inline-block; width: 1.25em; text-align: center; font-style: normal; }
span.bk.wide > i { width: 2.6em; }
span.bk.on > i::before { content: '√'; font-weight: 700; }

.lf-text { line-height: 1.58; }
.lf-art { padding-left: 3mm; text-indent: -3mm; margin-top: 1.1mm !important; }
.lf-para { padding-left: 3mm; margin-top: 0.4mm !important; }
.lf-para0 { line-height: 1.75; }
.lf-item { padding-left: 7.5mm; text-indent: -3.6mm; }
.lf-item2 { padding-left: 11.5mm; text-indent: -4.5mm; }
.lf-item3 { padding-left: 15mm; text-indent: -4mm; }
.lf-dotbox { border: 0.8pt dotted #555; padding: 0.6mm 1.2mm; margin: 0.6mm 0; }
.lf-dotbox .lf-item { padding-left: 4.5mm; }
.lf-confirm, .lf-consent, .lf-infobox { border: 0.8pt solid #000; padding: 1.5mm 3mm; margin-top: 2mm; }
.lf-confirm { margin-left: 4mm; line-height: 1.75; }
.lf-signline { text-align: right; margin-top: 3mm !important; }
.lf-infobox { margin-left: 4mm; padding: 0.6mm 2mm; }
.lf-sq { margin: 3mm 0 0; padding-left: 4.5mm; line-height: 1.75; }
.lf-sq li { list-style: square; }
.lf-consent { margin-top: 1.5mm; line-height: 1.7; }
.lf-consent .lf-signline { margin: 4mm 0 4mm !important; }
.lf-refuse { padding-left: 4.5mm; text-indent: -4.5mm; }

/* 특약사항 별지 */
.sp-h { text-align: center; font-size: 15pt; font-weight: 800; letter-spacing: 0.2em; margin: 4mm 0 1mm; }
.sp-note { text-align: center; font-size: 8.6pt; color: #555; margin-bottom: 3mm; }
.sp-box { border: 1pt solid #000; padding: 2mm 4mm; }
.sp-text { white-space: pre-wrap; line-height: 6mm; min-height: 30mm;
  background-image: linear-gradient(to top, #9a9a9a 0.5pt, transparent 0.5pt); background-size: 100% 6mm; }
.sp-sign { display: flex; justify-content: flex-end; gap: 10mm; margin-top: 5mm; }
.sp-sign .v { --w: 28mm; }

/* ---------- 대역본(한국어 + 번역문) ---------- */
.sheet.bl { font-size: 9pt; line-height: 1.36; }
.bl .sheet-body > .blk + .blk { margin-top: 1.5mm; }
.bl .sheet-body > .blk.join, .bl .sheet-body > .blk.spb + .blk.spb, .bl .sheet-body > .blk.join-box { margin-top: 0; }
.bl .sheet-body > .blk.join > .t { border-top: 0; }
.bl .sheet-body > .blk.join:first-child > .t { border-top: 1.1pt solid #000; }
.bl .sheet-body > .blk.spb + .blk.spb .special { border-top: 0; }
.bl .sheet-body > .blk.spb:has(+ .blk.spb) .special { border-bottom: 0; }
.bl .sheet-body > .blk.x-after { margin-top: 3mm; }
.bl .tr { color: #262626; font-size: 0.94em; line-height: 1.34; }
.bl p.tr, .bl div.tr { margin-top: 0.4mm !important; }
.bl .trl { display: block; font-size: 0.86em; line-height: 1.22; color: #333; font-weight: 400; letter-spacing: -0.01em; }
.bl .tri { font-size: 0.86em; color: #333; font-weight: 400; letter-spacing: -0.01em; }
.bl .t th .trl, .bl .t td.lab .trl { font-size: 0.8em; margin-top: 0.3mm; }
.bl .t th, .bl .t td { height: auto; padding-block: 0.8mm; }
.bl .p1-notice .tr { color: #8a1a7a; font-size: 0.95em; margin-top: 0.6mm; }
.bl-head { display: grid; grid-template-columns: 1fr 64mm; align-items: center; gap: 2mm; margin-top: 1mm; }
.bl-title { text-align: center; }
.bl-title .doc-title { font-size: 18pt; }
.tr-title { font-size: 13pt; font-weight: 800; margin-top: 0.5mm; }
.bl-kind { font-size: 9pt; line-height: 1.45; }
.bl-kind .tri { font-size: 0.85em; }
.bl-parties { white-space: normal; text-align: left; padding: 1mm 3mm; }
.bl-parties > div:first-child { white-space: nowrap; }
.bl-parties .tr { margin-top: 0.6mm; }
.bl .v.tr-hint { white-space: normal; text-align: left; color: inherit; }
.bl .v.tr-hint:not(.hint) { display: none; }
.bl .v.tr-hint.hint { color: #9b9b9b; font-size: 0.86em; line-height: 1.25; letter-spacing: -0.01em; }
.bl .fd-tr { font-size: 9pt; margin-top: -2mm; margin-bottom: 2mm; }
.bl .tax td .trl { margin-top: 0.6mm; }
.bl-pay td { white-space: normal; }
.bl .mg-grid.trg { margin-top: 0.8mm; padding-top: 0.6mm; border-top: 0.5pt dotted #999; font-size: 0.86em; color: #333; }
.bl .mg-grid.trg .mi { white-space: normal; }
.bl .mg-grid.trg .ml2 { font-weight: 400; }
.bl .art.tr { margin-top: 0.4mm !important; }
.bl .para.tr { margin-top: 0.3mm !important; }
.bl .sp-i { padding-block: 1mm; }
.bl .sp-i li { margin: 0; }
.bl .sp-note { list-style: none; font-size: 0.95em; margin-top: 0.6mm; }
.bl .x-line .extra-text { min-height: 0; margin-bottom: 0; }
.bl .x-line.last .extra-text { min-height: 15mm; margin-bottom: 1.5mm; }
.bl .x-head .extra-h { padding-bottom: 0.6mm; }
.bl .closing { margin-top: 0 !important; }
.bl .closing-tr { font-size: 0.92em; margin-top: 0.6mm !important; overflow: hidden; }
.bl .closing-tr .cdate { float: right; }
.bl-sign td, .bl-sign th { height: 8.6mm; }
.bl-sign th.vlab2 { background: #efefef; font-weight: 400; line-height: 1.25; padding: 0 0.8mm; text-align: center; }
.bl-sign td.lab { font-size: 8.4pt; line-height: 1.2; padding-inline: 0.8mm; }
.bl-sign .seal { font-size: 8.4pt; line-height: 1.5; }
.bl .sign + .sign { margin-top: 0; border-top: 0; }
.bl .ap-tag .tri { font-size: 1em; }
.ap-banner-tr { font-size: 10pt; font-weight: 700; letter-spacing: 0.02em; margin-top: 0.6mm; }
.bl-ap { font-size: 8.8pt; line-height: 1.42; }
.bl-ap .ap-box-st { font-weight: 700; font-size: 9pt; margin: -1.5mm 0 1mm 4mm; }
.bl-ap h4 .trl { display: inline; margin-left: 1.5mm; font-weight: 700; }
.bl-ap .apt { padding-left: 8mm; margin: 0.2mm 0 1mm !important; font-size: 0.93em; }
.bl-ap .apt.star { padding-left: 10mm; }
.bl .blk.ap:has(+ .blk.join-box) .ap-box { border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: 0.5mm; }
.bl .blk.join-box .ap-box { border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; margin-top: 0; padding-top: 0.5mm; }
.bl .sheet-body > .blk.join-box:first-child .ap-box { border-top: 2pt solid #6f6f6f; padding-top: 2mm; }
.bl .bl-ap h4:first-child { margin-top: 0.6mm; }
.bl .ap-foot { font-size: 9.4pt; line-height: 1.45; }
.ap-foot-tr { font-size: 8.6pt; letter-spacing: 0; margin-top: 0.8mm; padding: 0 3mm; }
#lease-doc[data-lang="zh"] .tr, #lease-doc[data-lang="zh"] .trl, #lease-doc[data-lang="zh"] .tri, #lease-doc[data-lang="zh"] .tr-title, #lease-doc[data-lang="zh"] .ap-banner-tr, #lease-doc[data-lang="zh"] .ap-foot-tr, #lease-doc[data-lang="zh"] .ap-box-st {
  font-family: 'Noto Sans SC', 'Nanum Gothic', 'Microsoft YaHei', 'PingFang SC', sans-serif; }
#lease-doc[data-lang="vi"] .tr, #lease-doc[data-lang="vi"] .trl, #lease-doc[data-lang="vi"] .tri, #lease-doc[data-lang="vi"] .tr-title, #lease-doc[data-lang="vi"] .ap-banner-tr, #lease-doc[data-lang="vi"] .ap-foot-tr, #lease-doc[data-lang="vi"] .ap-box-st {
  font-family: 'Noto Sans', 'Nanum Gothic', 'Segoe UI', Arial, sans-serif; }

/* ---------- 화면 전용: 채운 값은 잉크색, 빈칸은 연한 노랑으로 표시하고 누르면 입력칸으로 이동 ---------- */
@media screen {
  .sheet [data-f] { cursor: pointer; }
  .sheet .v:not(.hint):not(.empty), .sheet .extra-text:not(.is-empty) { color: #1b3faa; }
  .sheet .v.empty, .sheet .v.hint { background-color: rgb(255 214 0 / 0.16); }
  .sheet .cb[data-f] { box-shadow: 0 0 0 1.5pt rgb(255 214 0 / 0.35); }
  .sheet span.bk[data-f] { background-color: rgb(255 214 0 / 0.16); }
  .sheet .hl { outline: 2px solid #2f62ff; outline-offset: 1px; background: rgb(47 98 255 / 0.12) !important; }
  .sheet [data-f]:hover { outline: 1.5px dashed #2f62ff; outline-offset: 1px; }
}

@media print {
  .sheets { transform: none !important; width: auto; }
  .sheet { margin: 0 !important; box-shadow: none; break-after: page; page-break-after: always; }
  .sheet.is-last { break-after: auto; page-break-after: auto; }
  .sheet[hidden] { display: none !important; }
}
