/* Documentos clínicos: media carta vertical. La página tiene márgenes físicos propios. */
@page {
  size: 5.5in 8.5in;
  margin: 7mm 7mm 8mm;

  @bottom-left {
    content: "Clínica Dental JH";
    color: #526b82;
    font: 7pt Arial, sans-serif;
  }

  @bottom-right {
    content: counter(page);
    color: #526b82;
    font: 7pt Arial, sans-serif;
  }
}

@media print {
  html,
  html[data-theme],
  body {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color-scheme: light !important;
    color: #102e50 !important;
    background: #fff !important;
    background-image: none !important;
  }

  body {
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
  }

  html::before,
  html::after,
  body::before,
  body::after {
    display: none !important;
    content: none !important;
  }

  body > :not(#print-area) {
    display: none !important;
  }

  #print-area {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #print-area *,
  #print-area *::before,
  #print-area *::after {
    box-sizing: border-box;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    background-image: none !important;
  }

  #print-area .doc {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #102e50 !important;
    background: #fff !important;
    font: 9pt/1.35 'DM Sans', Arial, Helvetica, sans-serif !important;
    overflow: visible !important;
    overflow-wrap: break-word;
    break-inside: auto !important;
  }

  #print-area .doc::before,
  #print-area .doc::after {
    display: none !important;
    content: none !important;
  }

  #print-area .doc :is(p, h1, h2, h3, h4, table) {
    orphans: 2;
    widows: 2;
  }

  #print-area .doc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 9pt;
    margin: 0 0 7pt;
    padding: 0 0 7pt;
    border-bottom: 1pt solid #b9cdd6;
    break-inside: avoid;
    break-after: avoid;
  }

  #print-area .doc-brand {
    display: flex;
    align-items: center;
    flex: 1 1 54%;
    min-width: 0;
    gap: 6pt;
  }

  #print-area .doc-brand img {
    flex: 0 0 35pt;
    width: 35pt;
    height: 35pt;
    object-fit: contain;
  }

  #print-area .doc-brand strong {
    display: block;
    margin: 0;
    color: #102e50;
    font: 700 9.7pt/1.16 'Manrope', Arial, Helvetica, sans-serif;
  }

  #print-area .doc-brand span {
    display: block;
    margin-top: 2pt;
    color: #526b82;
    font-size: 7.2pt;
    line-height: 1.25;
  }

  #print-area .doc-contact {
    flex: 0 1 43%;
    min-width: 0;
    max-width: none;
    color: #526b82;
    font-size: 6.9pt;
    line-height: 1.28;
    text-align: right;
    overflow-wrap: anywhere;
  }

  #print-area .doc-contact span {
    display: block;
  }

  #print-area .doc-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8pt;
    margin: 0 0 7pt;
    padding: 0 0 5pt;
    border: 0;
    border-bottom: 1.4pt solid #102e50;
    break-inside: avoid;
    break-after: avoid;
  }

  #print-area .doc-title-row > div {
    min-width: 0;
  }

  #print-area .doc-kicker {
    display: block;
    margin-bottom: 1pt;
    color: #187f7a;
    font-size: 7pt;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
  }

  #print-area .doc-title-row h1 {
    margin: 0;
    color: #102e50;
    font: 700 14pt/1.13 'Manrope', Arial, Helvetica, sans-serif;
  }

  #print-area .doc-reference {
    flex: 0 1 39%;
    max-width: 39%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #526b82;
    font: 7.5pt/1.25 'DM Sans', Arial, Helvetica, sans-serif;
    letter-spacing: 0;
    text-align: right;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
  }

  #print-area .doc-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1pt 10pt;
    margin: 3pt 0 8pt;
    break-inside: auto;
  }

  #print-area .doc-meta p {
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 3pt 0 4pt;
    border: 0;
    border-bottom: .5pt solid #d3dee3;
    border-radius: 0;
    background: transparent;
    break-inside: avoid;
  }

  #print-area .doc-meta p.full {
    grid-column: 1 / -1;
  }

  #print-area .doc-meta p > span,
  #print-area .doc-meta p > strong {
    display: block;
    overflow: visible;
    overflow-wrap: anywhere;
  }

  #print-area .doc-meta p > span {
    margin: 0 0 1pt;
    color: #526b82;
    font-size: 7pt;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
  }

  #print-area .doc-meta p > strong {
    color: #102e50;
    font-size: 9pt;
    font-weight: 600;
    line-height: 1.26;
  }

  #print-area .doc-body,
  #print-area .doc-prose {
    margin: 7pt 0;
    color: #102e50;
    font-size: 9.1pt;
    line-height: 1.43;
    break-inside: auto;
    overflow: visible;
  }

  #print-area :is(.doc-body, .doc-prose) p {
    margin: 0 0 5pt;
  }

  #print-area :is(.doc-body, .doc-prose) p:last-child {
    margin-bottom: 0;
  }

  #print-area .doc-highlight {
    margin: 8pt 0;
    padding: 6pt 0;
    border: 0;
    border-top: .8pt solid #b9cdd6;
    border-bottom: .8pt solid #b9cdd6;
    border-radius: 0;
    background: transparent;
    break-inside: auto;
  }

  #print-area .doc-highlight p {
    margin: 0 0 4pt;
    color: #102e50;
    font-size: 9pt;
    line-height: 1.38;
  }

  #print-area .doc-highlight p:last-child {
    margin-bottom: 0;
  }

  #print-area .doc-highlight strong {
    color: #102e50;
  }

  #print-area .doc-highlight-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6pt;
    break-inside: avoid;
  }

  #print-area .doc-highlight-row > div {
    flex: 1 1 0;
    min-width: 0;
  }

  #print-area .doc-highlight-row span {
    display: block;
    margin: 0 0 2pt;
    color: #526b82;
    font-size: 7pt;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
  }

  #print-area .doc-highlight-row strong {
    display: block;
    color: #102e50;
    font-size: 11pt;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  #print-area .doc-closing {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #print-area .doc-signature {
    width: 56%;
    min-height: 0;
    margin: 17mm 0 0 auto;
    padding: 4pt 0 0;
    border: 0;
    border-top: .8pt solid #526b82;
    color: #102e50;
    text-align: center;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #print-area .doc-signature strong,
  #print-area .doc-signature span {
    display: block;
    overflow-wrap: anywhere;
  }

  #print-area .doc-signature strong {
    font-size: 8.8pt;
  }

  #print-area .doc-signature span {
    margin-top: 1pt;
    color: #526b82;
    font-size: 7.4pt;
  }

  #print-area .doc-footer {
    margin: 8pt 0 0;
    padding: 5pt 0 0;
    border: 0;
    border-top: .5pt solid #d3dee3;
    color: #526b82;
    font-size: 7pt;
    text-align: left;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #print-area .doc-footer p {
    margin: 0;
    color: #526b82;
    font-size: 7pt;
    line-height: 1.25;
  }

  #print-area .doc-footer small {
    display: block;
    margin: 2pt 0 0;
    color: #526b82;
    font-size: 6.7pt;
  }

  #print-area .doc-section-title {
    margin: 9pt 0 3pt;
    color: #102e50;
    font: 700 9.8pt/1.25 'Manrope', Arial, Helvetica, sans-serif;
    break-after: avoid;
    page-break-after: avoid;
  }

  #print-area .doc-table,
  #print-area .rx-print-table {
    width: 100%;
    margin: 3pt 0 7pt;
    border-collapse: collapse;
    table-layout: fixed;
    color: #102e50;
    font-size: 8.2pt;
    line-height: 1.32;
  }

  #print-area :is(.doc-table, .rx-print-table) thead {
    display: table-header-group;
  }

  #print-area :is(.doc-table, .rx-print-table) tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #print-area :is(.doc-table, .rx-print-table) th,
  #print-area :is(.doc-table, .rx-print-table) td {
    padding: 4pt 3pt;
    border: 0;
    border-bottom: .5pt solid #d3dee3;
    color: #102e50;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
  }

  #print-area :is(.doc-table, .rx-print-table) th {
    border-bottom: .8pt solid #b9cdd6;
    color: #526b82;
    font-size: 7pt;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
  }

  #print-area .doc-table .num {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }

  #print-area .doc-table td > strong {
    font-weight: 600;
  }

  #print-area .doc-cell-line {
    display: block;
    margin-top: 2pt;
    color: #526b82;
    font-size: 7.6pt;
    line-height: 1.3;
  }

  #print-area .doc-cell-amount {
    display: block;
    margin-top: 3pt;
    font-size: 8.8pt;
    font-variant-numeric: tabular-nums;
    text-align: right;
  }

  #print-area .doc-status {
    display: block;
    margin-top: 2pt;
    color: #102e50;
    font-size: 7pt;
    font-weight: 700;
  }

  #print-area .doc-table tr.voided td {
    color: #526b82;
    text-decoration: none;
  }

  #print-area .doc-table-total {
    break-inside: avoid;
  }

  #print-area .doc-table--items th:nth-child(1) { width: 52%; }
  #print-area .doc-table--items th:nth-child(2) { width: 10%; }
  #print-area .doc-table--items th:nth-child(3) { width: 18%; }
  #print-area .doc-table--items th:nth-child(4) { width: 20%; }
  #print-area .doc-table--payments th:nth-child(1) { width: 27%; }
  #print-area .doc-table--payments th:nth-child(2) { width: 50%; }
  #print-area .doc-table--payments th:nth-child(3) { width: 23%; }
  #print-area .doc-table--cash th:nth-child(1) { width: 24%; }
  #print-area .doc-table--cash th:nth-child(2) { width: 52%; }
  #print-area .doc-table--cash th:nth-child(3) { width: 24%; }

  #print-area .doc-table-context {
    display: block;
    margin-bottom: 2pt;
    color: #526b82;
    font-size: 7pt;
    font-weight: 400;
    line-height: 1.3;
  }

  #print-area .rx-print-table th {
    font-size: 8pt;
  }

  #print-area .rx-print-table td {
    padding: 5pt 0;
  }

  #print-area .rx-saved-item {
    margin: 0;
    padding: 0;
    border: 0;
    break-inside: auto;
  }

  #print-area .rx-saved-item h4 {
    margin: 0 0 3pt;
    color: #102e50;
    font-size: 10pt;
    line-height: 1.3;
    break-after: avoid;
  }

  #print-area .rx-saved-item p {
    margin: 2pt 0;
    font-size: 8.8pt;
    line-height: 1.37;
  }

  #print-area .rx-print .doc-meta {
    margin-bottom: 9pt;
  }

  #print-area .rx-print .doc-highlight > strong {
    display: block;
    margin-bottom: 2pt;
  }

  #print-area .intake-print .doc-meta {
    margin: 2pt 0 5pt;
  }

  #print-area .intake-print .doc-meta p {
    padding: 2pt 0 3pt;
  }

  #print-area .intake-print .doc-meta p > span,
  #print-area .intake-print .doc-meta p > strong {
    display: inline;
    font-size: 8.3pt;
    line-height: 1.3;
  }

  #print-area .intake-print .doc-meta p > span {
    margin-right: 3pt;
    color: #526b82;
    font-weight: 400;
  }

  #print-area .intake-print .doc-meta p > span::after {
    content: ':';
  }

  #print-area .intake-print .doc-highlight p {
    margin-bottom: 3pt;
    font-size: 8.4pt;
    line-height: 1.33;
  }
}
