/* Scoped to Tutor's invoice page; never changes the site's root font size. */
.tutor-invoice-page-wrapper { color: #182525; font: 15px/1.55 Arial, sans-serif; }
.tutor-invoice-page-wrapper .tutor-invoice-container { width: calc(100% - 24px); max-width: 940px; margin: 28px auto; padding: 0; }
.tutor-invoice-page-wrapper .tutor-invoice-card { background: #fff; border: 1px solid #dce4e3; border-radius: 12px; padding: 20px; }
.tutor-invoice-page-wrapper .tutor-invoice-card + .tutor-invoice-card { margin-top: 20px; padding: 40px; }
.tutor-invoice-page-wrapper .tutor-invoice-wrapper { min-height: 0; overflow: visible; }
.tutor-invoice-page-wrapper #tutor-invoice-content { width: 100%; font: 15px/1.55 Arial, sans-serif; color: #182525; background: #fff; }
.tutor-invoice-page-wrapper #tutor-invoice-content .tutor-text-tiny,
.tutor-invoice-page-wrapper #tutor-invoice-content .tutor-text-tiny-2,
.tutor-invoice-page-wrapper #tutor-invoice-content .tutor-fs-8 { font-size: 14px !important; line-height: 1.55 !important; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-header { display: flex; justify-content: space-between; gap: 24px; border-bottom: 2px solid #06504f; padding-bottom: 24px; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-header-left { max-width: 70%; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-header-left > :first-child,
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-info > div:first-child > :first-child { font-size: 12px !important; font-weight: 700; letter-spacing: .08em; color: #526563; margin-bottom: 8px; }
.tutor-invoice-page-wrapper #tutor-invoice-content .site-logo img { width: 150px; max-width: 100%; height: auto; object-fit: contain; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-info { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 28px; padding: 26px 0; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-info > div:first-child { flex: 1 1 240px; overflow-wrap: anywhere; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-box { width: 330px; max-width: 100%; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-row { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-row .value { text-align: right; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table { width: 100%; border-collapse: collapse; margin: 0 0 24px; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table th,
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table td { border: 0; border-bottom: 1px solid #dce4e3; padding: 16px 8px; vertical-align: top; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table th { background: #f0f6f5; font-weight: 700; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table .item-image { flex: 0 0 60px; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table .price { text-align: right; white-space: nowrap; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-summary { width: 360px; max-width: 100%; margin-left: auto; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-summary > div { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; }
.tutor-invoice-page-wrapper #tutor-invoice-content .invoice-summary > div:last-child { border-top: 2px solid #06504f; margin-top: 12px; padding-top: 16px; font-weight: 700; }
.tutor-invoice-page-wrapper .tutor-btn { font: 600 14px/1.4 Arial, sans-serif; min-height: 42px; padding: 10px 16px; }
.tutor-invoice-page-wrapper .tutor-btn-primary { background: #06504f; border-color: #06504f; color: #fff; }
.tutor-invoice-page-wrapper .boticampus-invoice-message { margin: 12px 0 0; font-size: 14px; color: #8a291e; }
.tutor-invoice-page-wrapper .boticampus-invoice-message:empty { display: none; }
.tutor-invoice-page-wrapper .boticampus-invoice-tax-note { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid #dce4e3; color: #526563; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .tutor-invoice-page-wrapper .tutor-invoice-container { width: calc(100% - 16px); margin: 12px auto; }
  .tutor-invoice-page-wrapper .tutor-invoice-card,
  .tutor-invoice-page-wrapper .tutor-invoice-card + .tutor-invoice-card { padding: 18px; }
  .tutor-invoice-page-wrapper #tutor-invoice-content .invoice-header-left { max-width: 100%; }
  .tutor-invoice-page-wrapper #tutor-invoice-content .site-logo { display: none; }
  .tutor-invoice-page-wrapper #tutor-invoice-content .invoice-box { width: 100%; }
  .tutor-invoice-page-wrapper #tutor-invoice-content .item-image { display: none; }
  .tutor-invoice-page-wrapper #tutor-invoice-content .invoice-table td:first-child { overflow-wrap: anywhere; }
}
@media print {
  @page { size: A4; margin: 15mm; }
  html:has(.tutor-invoice-page-wrapper) { margin: 0 !important; }
  body:has(.tutor-invoice-page-wrapper) > :not(.tutor-invoice-page-wrapper) { display: none !important; }
  .tutor-invoice-page-wrapper .tutor-invoice-container { width: 100%; max-width: none; margin: 0; }
  .tutor-invoice-page-wrapper .tutor-invoice-card:first-child { display: none; }
  .tutor-invoice-page-wrapper .tutor-invoice-card + .tutor-invoice-card { border: 0; padding: 0; margin: 0; }
  .tutor-invoice-page-wrapper .invoice-table tr,
  .tutor-invoice-page-wrapper .invoice-summary { break-inside: avoid; }
}
