/* 결재용 견적서 양식 v2 (10/30). 인쇄하거나 PDF로 저장할 때만 보입니다.
   되돌리기: index.html 의 이 파일 연결 한 줄을 지우면 이전 양식 모양(styles.css 의 .ps-*)으로 돌아갑니다. */
@media print {
  @page { size: A4; margin: 14mm 15mm 14mm; }
  .qs { --ink: #1c1d1b; --muted: #6b6e68; --rule: #d6d9d2; --sage: #6f8a6e; --tint: #f3f5f1;
    font: 9.6pt/1.6 "Pretendard", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; color: var(--ink); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .qs * { margin: 0; }
  .qs-head { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 5mm; border-bottom: 2.2pt solid var(--ink); }
  .qs-brand b { display: block; font: 600 20pt/1 Georgia, "Times New Roman", serif; letter-spacing: -0.02em; }
  .qs-brand span { display: block; margin-top: 1.4mm; font-size: 6.8pt; letter-spacing: .32em; text-transform: uppercase; color: var(--muted); }
  .qs-title { text-align: right; }
  .qs-title h1 { font: 600 24pt/1 var(--serif, "MaruBuri", serif); letter-spacing: .5em; margin-right: -0.5em; }
  .qs-title p { margin-top: 1.6mm; font-size: 7pt; letter-spacing: .4em; color: var(--sage); }
  .qs-meta { display: flex; gap: 8mm; padding: 2.6mm 0; border-bottom: .6pt solid var(--rule); font-size: 8.4pt; }
  .qs-meta div { display: flex; gap: 2.4mm; }
  .qs-meta dt { color: var(--muted); }
  .qs-meta dd { font-variant-numeric: tabular-nums; }

  .qs-parties { display: grid; grid-template-columns: 1fr 1.25fr; gap: 8mm; margin-top: 6mm; }
  .qs-k { font-size: 8pt; color: var(--muted); letter-spacing: .2em; }
  .qs-line { display: flex; align-items: flex-end; gap: 2mm; margin-top: 4mm; font-size: 11pt; }
  .qs-line span { flex: 1; border-bottom: .8pt solid var(--ink); height: 7mm; }
  .qs-sub { font-size: 9pt; margin-top: 3mm; }
  .qs-sub span { height: 6mm; border-bottom-color: var(--rule); }
  .qs-lead { margin-top: 6mm; font-size: 9pt; }
  .qs-from { width: 100%; border-collapse: collapse; font-size: 8.4pt; border-top: 1.2pt solid var(--ink); }
  .qs-from caption { caption-side: top; text-align: left; padding-bottom: 1.6mm; font-size: 8pt; color: var(--muted); letter-spacing: .2em; }
  .qs-from th, .qs-from td { padding: 1.5mm 2mm; border-bottom: .6pt solid var(--rule); text-align: left; vertical-align: middle; }
  .qs-from th { width: 26mm; background: var(--tint); font-weight: 500; color: var(--muted); }
  .qs-seal { display: inline-grid; place-items: center; width: 9mm; height: 9mm; margin-left: 3mm; border: .8pt solid #b8463f; border-radius: 50%; color: #b8463f; font-style: normal; font-size: 7.5pt; vertical-align: middle; }

  .qs-total { display: flex; justify-content: space-between; align-items: center; margin-top: 7mm; padding: 4.4mm 5mm; background: var(--ink); color: #fff; border-radius: 1.6mm; }
  .qs-total p:first-child { font-size: 10pt; font-weight: 600; letter-spacing: .1em; }
  .qs-total small { margin-left: 2.4mm; font-size: 7.6pt; font-weight: 400; opacity: .7; letter-spacing: 0; }
  .qs-total p:last-child { display: flex; align-items: baseline; gap: 4mm; }
  .qs-total b { font: 600 13pt/1 var(--serif, "MaruBuri", serif); }
  .qs-total em { font-style: normal; font-size: 11pt; font-variant-numeric: tabular-nums; opacity: .85; }

  .qs-items { width: 100%; margin-top: 5mm; border-collapse: collapse; font-size: 9pt; }
  .qs-items thead th { padding: 2mm; border-top: 1.2pt solid var(--ink); border-bottom: .8pt solid var(--ink); font-size: 8pt; font-weight: 600; color: var(--muted); text-align: left; }
  .qs-items td { padding: 2.6mm 2mm; border-bottom: .6pt solid var(--rule); vertical-align: top; }
  .qs-items td b { font-weight: 600; }
  .qs-items td span { display: block; margin-top: .6mm; font-size: 8pt; color: var(--muted); }
  .qs-items .qs-c { width: 14mm; text-align: center; }
  .qs-items .qs-n { width: 34mm; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .qs-items tfoot th { padding: 1.8mm 2mm; text-align: right; font-weight: 500; color: var(--muted); }
  .qs-items tfoot td { padding: 1.8mm 2mm; }
  .qs-items tfoot tr:first-child th, .qs-items tfoot tr:first-child td { padding-top: 3mm; }
  .qs-items .qs-sum th, .qs-items .qs-sum td { padding-top: 2.6mm; border-top: 1.2pt solid var(--ink); font-size: 11pt; font-weight: 700; color: var(--ink); }

  .qs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; margin-top: 7mm; padding-top: 4mm; border-top: .6pt solid var(--rule); }
  .qs-grid h2 { margin: 0 0 1.6mm; font-size: 8pt; font-weight: 600; letter-spacing: .2em; color: var(--sage); }
  .qs-grid h2 + p { margin-bottom: 3.4mm; font-size: 8.6pt; }
  .qs-grid dl div { display: grid; grid-template-columns: 16mm 1fr; gap: 2mm; padding: .8mm 0; font-size: 8.6pt; }
  .qs-grid dt { color: var(--muted); }
  .qs-foot { margin-top: 8mm; padding-top: 4mm; border-top: 1.2pt solid var(--ink); display: flex; justify-content: space-between; align-items: flex-end; gap: 10mm; }
  .qs-foot p:first-child { max-width: 120mm; font-size: 7.8pt; line-height: 1.6; color: var(--muted); }
  .qs-sign { font: 600 11pt/1 var(--serif, "MaruBuri", serif); letter-spacing: .14em; white-space: nowrap; }
  .qs .qs-from td, .qs .qs-from th { text-align: left; white-space: normal; }
  .qs .qs-items tbody td:nth-child(2) { text-align: left; white-space: normal; }
  .qs .qs-items .qs-c, .qs .qs-items th.qs-c { text-align: center; }
  .qs .qs-items .qs-n, .qs .qs-items th.qs-n, .qs .qs-items tfoot td { text-align: right; }
  .qs .qs-items tfoot th, .qs .qs-items tfoot td { border-bottom: 0; }
  .qs-op { display: block; margin-top: .4mm; font-size: 7.6pt; color: var(--muted); }
  .qs table, .qs-total, .qs-grid { break-inside: avoid; }
}

/* 11/6: 밝은 바탕의 견적 쪽 경로 글자가 흰색이라 안 보이던 것 */
body:has([data-quote]) .crumbs, body:has([data-quote]) .crumbs a, body:has([data-quote]) .crumbs li { color: #1b1c1b !important; opacity: 1; }
body:has([data-quote]) .crumbs a { text-decoration-color: currentColor; }
