/* ── General ──────────────────────────────────────────────────── */
body { background: #f8f9fa; }

/* ── Quote document ───────────────────────────────────────────── */
.quote-doc {
  font-family: Calibri, 'Calibri', Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.35;
  color: #000000;
}
.quote-doc.lang-ja,
.quote-doc.lang-ja p,
.quote-doc.lang-ja td,
.quote-doc.lang-ja th,
.quote-doc.lang-ja li {
  font-family: 'Meiryo UI', Meiryo, sans-serif;
}
/* Letterhead and ref-block stay in English fonts regardless of language */
.quote-doc.lang-ja .letterhead-table td { font-family: Calibri, 'Calibri', Arial, sans-serif; } /* no font-size override — keeps 9pt for contact area */
.quote-doc.lang-ja .ref-block td        { font-family: Calibri, 'Calibri', Arial, sans-serif; font-size: 11pt; }
.quote-doc.lang-ja .firm-name           { font-family: Impact, 'Arial Black', sans-serif; }
.quote-doc.lang-ja .firm-subtitle       { font-family: Arial, sans-serif; font-size: 11pt; }
.quote-doc p,
.quote-doc table {
  margin: 0;
  padding: 0;
}
.blank-para {
  margin: 0;
  padding: 0;
  line-height: 1.0;
  font-size: 6pt;
}

/* ── Letterhead ───────────────────────────────────────────────── */
.letterhead-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 4pt;
}
.letterhead-table td { vertical-align: top; padding: 0; }
.firm-name {
  font-family: Impact, 'Arial Black', sans-serif;
  font-size: 32pt;
  line-height: 1.0;
  color: #000000;
  white-space: nowrap;
}
.firm-subtitle { font-family: Arial, sans-serif; font-size: 11pt; width: 100%; text-align: justify; text-align-last: justify; }
.letterhead-contact {
  font-size: 9pt;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
  color: #000000;
}
.letterhead-divider {
  border: none;
  border-top: 1.5pt solid #000000;
  margin: 4pt 0 8pt 0;
}

/* ── Reference block (Table Grid) ────────────────────────────── */
.ref-block { border-collapse: collapse; margin-bottom: 8pt; }
.ref-block td {
  border: none;
  padding: 1pt 8pt 1pt 0;
  font-size: 11pt;
}
.ref-block td:first-child { white-space: nowrap; min-width: 80pt; }

/* ── Body paragraph styles ────────────────────────────────────── */
/* Hanging indent — top-level numbered (0.5cm hang) */
.num-1 { padding-left: 0.5cm; text-indent: -0.5cm; margin: 0; }
/* Hanging indent — sub-level (0.5cm left indent + 0.5cm hang) */
.num-2 { padding-left: 1.0cm; text-indent: -0.5cm; margin: 0; }
/* Indented note/disclaimer (0.42cm left only) */
.indented-note { padding-left: 0.42cm; margin: 0; }

/* ── Semantic ordered lists (browser preview) ─────────────────── */
ol.list-l1 {
  list-style-type: decimal;
  list-style-position: outside;
  margin: 0;
  padding-left: 2em;
}
ol.list-l2 {
  list-style-type: decimal;
  list-style-position: outside;
  margin: 0;
  padding-left: 2em;
}
ol.list-l1c {
  list-style-type: upper-alpha;
  list-style-position: outside;
  margin: 0;
  padding-left: 2em;
}
ol.list-l1c > li {
  margin-bottom: 0;
  line-height: 1.35;
}
/* Standalone ul.list-l2 (Japanese bullet sections) */
ul.list-l2 {
  list-style-type: disc;
  list-style-position: outside;
  margin: 0;
  padding-left: 2em;
}
/* Nested inside list-l1 (show_search): disc bullet */
ol.list-l1 ul.list-l2 {
  list-style-type: disc;
  list-style-position: outside;
  margin: 0;
  padding-left: 2em;
}
ol.list-l1 > li,
ol.list-l2 > li,
ul.list-l2 > li {
  margin-bottom: 0;
  line-height: 1.35;
}

/* ── Fee tables (Table Grid style) ───────────────────────────── */
.fee-table { width: 100%; border-collapse: collapse; font-size: 11pt; }
.fee-table td,
.fee-table th {
  border: 1px solid #000000;
  padding: 3pt 6pt;
  font-family: Calibri, Arial, sans-serif;
  font-size: 11pt;
  font-weight: normal;
}
.fee-table th { font-weight: 600; background-color: #f2f2f2; }
.fee-table .total-row td { font-weight: bold; }
.fee-table .total-row td:first-child { text-align: right; }
.fee-cell-item   { border: 1px solid #ccc; padding: 4px 8px; }
.fee-cell-amount { border: 1px solid #ccc; padding: 4px 8px; text-align: right; width: 120px; white-space: nowrap; }

/* Legacy form helpers */
.item-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; }
.req-docs p { margin-bottom: 0; }

/* ── Print / PDF ──────────────────────────────────────────────── */
.print-only { display: none; }

@media print {
  #app > *:not(#print-area) { display: none !important; }

  #print-area {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  @page {
    size: letter;           /* 8.5in × 11in */
    margin: 1in 0.75in;    /* top/bottom 1", left/right 0.75" */
  }

  .quote-doc {
    font-size: 11pt;
    line-height: 1.0;
    color: #000000;
  }

  .fee-table td,
  .fee-table th {
    border: 1px solid #000000 !important;
  }

  .letterhead-divider {
    border-top: 1.5pt solid #000000 !important;
  }
}
