/* [Define404] gyeonjeok-meo 견적서 문서 서식: A4 한 장, 화면과 인쇄 공용 */
@page { size: A4; margin: 0; }

.doc {
  width: 210mm;
  min-height: 297mm;
  padding: 16mm 14mm 14mm;
  background: #fff;
  color: #111;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", sans-serif;
  font-size: 9.5pt;
  line-height: 1.45;
  word-break: keep-all;
  font-variant-numeric: tabular-nums;
  box-sizing: border-box;
  position: relative;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.doc table { border-collapse: collapse; width: 100%; }
.doc th, .doc td { border: 1px solid #3a3a3a; padding: 1.6mm 2mm; vertical-align: middle; text-align: left; }
.doc th { background: #F1F1EF; font-weight: 600; white-space: nowrap; }
.doc .n { text-align: right; white-space: nowrap; }
.doc .c { text-align: center; }

.doc-head { display: flex; flex-direction: column; align-items: center; gap: 4mm; margin-bottom: 6mm; }
.doc-title { margin: 0; font-size: 24pt; font-weight: 800; letter-spacing: .5em; padding-left: .5em; border-bottom: 3px double #111; line-height: 1.3; }
.doc-meta { display: flex; gap: 8mm; margin: 0; font-size: 9pt; }
.doc-meta div { display: flex; gap: 2mm; }
.doc-meta dt { color: #555; }
.doc-meta dd { margin: 0; font-weight: 600; }

.parties { display: grid; grid-template-columns: 1fr 1.25fr; gap: 4mm; margin-bottom: 4mm; align-items: stretch; }
.party caption { caption-side: top; text-align: left; font-weight: 800; font-size: 10pt; padding-bottom: 1.5mm; }
.party th { width: 22mm; }
.party .to { font-size: 11pt; font-weight: 700; }
.party .to span { font-size: 9.5pt; font-weight: 400; }
.party .lead-in { border: 0; padding-top: 3mm; color: #333; }
.party .owner { position: relative; padding-right: 16mm; }
.seal { position: absolute; right: 2mm; top: 50%; width: 14mm; height: 14mm; transform: translateY(-50%); object-fit: contain; mix-blend-mode: multiply; }
.seal-mark { position: absolute; right: 3mm; top: 50%; transform: translateY(-50%); color: #777; }

.grand { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2mm 4mm; border: 2px solid #111; padding: 3mm 4mm; margin-bottom: 4mm; }
.grand-label { font-weight: 800; }
.grand-words { font-size: 12.5pt; }
.grand-num { color: #333; }

.items thead th { text-align: center; }
.items tbody td { height: 7.5mm; }
.items tr.blank td { color: transparent; }

.foot { display: grid; grid-template-columns: 1fr 70mm; gap: 4mm; margin-top: 4mm; align-items: start; }
.notes { border: 1px solid #3a3a3a; min-height: 26mm; padding: 2mm 3mm; }
.notes h2 { margin: 0 0 1mm; font-size: 9.5pt; }
.notes p { margin: 0; white-space: normal; }
.sums th { width: 34mm; }
.sums .strong th, .sums .strong td { font-weight: 800; font-size: 10.5pt; background: #F1F1EF; }

.accepted { margin-top: 5mm; display: inline-block; border: 2px solid #0A6797; color: #0A6797; font-weight: 800; padding: 2mm 4mm; }

@media print {
  html, body { background: #fff !important; margin: 0 !important; }
  .no-print { display: none !important; }
  .wrap, .workspace, .preview, .share-main, .print-page { display: block !important; padding: 0 !important; margin: 0 !important; max-width: none !important; position: static !important; background: #fff !important; }
  .wrap.no-print { display: none !important; } /* 바로 위 .wrap 규칙보다 뒤에 두어 인쇄에서 숨긴다 */
  .sheet { transform: none !important; width: auto !important; margin: 0 !important; }
  .sheet-scroll { height: auto !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; background: #fff !important; }
  .doc { box-shadow: none !important; min-height: 0; }
}
