/* ORBIT Service Agreement reader (screen).
   One font family/typographic scale for the complete on-screen document.
   Legal PDF/browser print rules begin at @page below and remain independent. */
@media screen {
  .agreement-modal-scroll {
    background: #f3f4f5;
    padding: 30px 24px;
  }
  .review-document {
    box-sizing: border-box;
    max-width: 720px;
    margin: 0 auto;
    padding: 56px 62px 62px;
    border: 1px solid #e5e7e9;
    background: #fff;
    color: #202327;
    font: 400 var(--orbit-type-document, 14px)/1.68 var(--orbit-font-web, 'DM Sans', 'Segoe UI', Arial, sans-serif);
    box-shadow: 0 3px 15px rgba(20,25,30,.025);
    overflow-wrap: break-word;
  }
  .review-document .review-logo {
    display: block;
    width: 198px;
    max-width: 65%;
    height: auto;
    margin: 0 auto 24px;
  }
  .review-document h2 {
    font: 750 21px/1.3 var(--orbit-font-web);
    color: #15191d;
    text-align: center;
    letter-spacing: -.025em;
    margin: 0 0 10px;
  }
  .review-document .review-company {
    font: 500 12px/1.55 var(--orbit-font-web);
    text-align: center;
    color: #4c5359;
    margin: 0 0 12px;
  }
  .review-document .review-reference {
    font: 500 11.5px/1.55 var(--orbit-font-web);
    text-align: center;
    color: #697177;
    border-bottom: 1px solid #d9dde0;
    padding-bottom: 19px;
    margin: 0 0 27px;
  }
  .review-document .review-section,
  .review-document .section {
    border: 0;
    padding: 0;
    margin: 0 0 25px;
  }
  .review-document .review-section h3,
  .review-document .section h2 {
    font: 700 var(--orbit-type-section, 16px)/1.4 var(--orbit-font-web);
    color: #171a1d;
    text-align: left;
    letter-spacing: -.012em;
    border: 0;
    padding: 0;
    margin: 0 0 10px;
  }
  .review-document .review-section p,
  .review-document .parties,
  .review-document .clause p,
  .review-document .review-end {
    font: 400 var(--orbit-type-document, 14px)/1.68 var(--orbit-font-web);
    color: #30363b;
    margin: 0 0 10px;
    overflow-wrap: break-word;
  }
  .review-document .review-section p strong,
  .review-document .fact strong { font-weight: 700; }
  .review-document .terms-section,
  .review-document .reader-terms { display: block !important; }
  .review-document .reader-terms .terms .clause {
    display: block;
    border: 0;
    padding: 0;
    margin: 0 0 22px;
  }
  .review-document .reader-terms .clause h3 {
    font: 700 14.5px/1.5 var(--orbit-font-web);
    color: #171a1d;
    letter-spacing: -.01em;
    margin: 0 0 8px;
  }
  .review-document .payments th,
  .review-document .payments td,
  .review-document .fact {
    font: 400 13px/1.55 var(--orbit-font-web);
    color: #30363b;
  }
  .review-document .payments th { font-weight: 500; }
  .review-document .payments td { text-align: right; font-weight: 700; white-space: nowrap; min-width: 93px; font-variant-numeric: tabular-nums; }
  .review-document .payments .total th,
  .review-document .payments .total td { font-weight: 750; }
  .review-document .review-end {
    margin-top: 27px;
    padding-top: 17px;
    border-top: 1px solid #d6dadd;
    text-align: center;
    font-weight: 650;
  }
}
@media screen and (max-width: 650px) {
  .agreement-modal-scroll { padding: 9px 8px; }
  .review-document { max-width: none; padding: 28px 21px 39px; border-radius: 2px; }
  .review-document h2 { font-size: 19px; }
  .review-document .review-section p,
  .review-document .parties,
  .review-document .clause p,
  .review-document .review-end { font-size: 13.5px; line-height: 1.65; }
  .review-document .reader-terms .clause h3 { font-size: 14px; }
}
@page {
  size: A4 portrait;
  margin: 23mm 25mm 25mm;
  @bottom-left {
    content: 'ORBIT  |  Service Agreement';
    font: 8pt Arial, sans-serif;
    color: #666;
  }
  @bottom-right {
    content: 'Page ' counter(page) ' of ' counter(pages);
    font: 8pt Arial, sans-serif;
    color: #666;
  }
}
@media print {
  html, body, body.orbit-experience {
    background: #fff !important;
    color: #181818 !important;
    font: 11pt/1.45 Georgia, 'Times New Roman', serif !important;
    print-color-adjust: exact;
  }
  .site-header, .agreement-nav, .agreement-summary-panel,
  .agreement-review-prompt, .actions, .workflow-note,
  .client-no-print, .message, .signed-notice,
  .footer, .signature-label button,
  #clearSignature, #reviewModal, #reviewBackdrop {
    display: none !important;
  }
  body.orbit-experience .orbit-shell,
  body.orbit-experience .orbit-shell > .document,
  .document {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .brand-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14mm;
    border-bottom: .3pt solid #bdbdbd;
    margin: 0 0 9mm;
    padding: 0 0 4mm;
  }
  .brand-header .logo { width: 51mm !important; max-width: 51mm !important; height: auto !important; object-fit: contain !important; }
  .brand-header .company-block {
    color: #4e4e4e !important;
    font: 8pt/1.3 Arial, sans-serif !important;
  }
  .brand-header .company-block strong { font-size: 8pt !important; }
  .title-block {
    border: 0;
    margin: 0 0 8mm;
    padding: 0;
  }
  .title-block h1 {
    color: #111 !important;
    font: bold 15pt/1.35 Georgia, 'Times New Roman', serif !important;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .8pt;
    margin: 0;
  }
  .title-block .agreement-lead { display: none !important; }
  .reference-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8mm;
    padding: 0 0 5mm;
    margin: 0 0 8mm;
    border: 0;
    border-bottom: .3pt solid #d1d1d1;
  }
  .reference-row .meta-label {
    font: 8pt Arial, sans-serif !important;
    color: #666 !important;
  }
  .reference-row strong {
    display: block;
    font: bold 9pt/1.4 Arial, sans-serif !important;
    color: #151515 !important;
    overflow-wrap: anywhere;
  }
  #agreementForm { display: block !important; }
  #agreementForm .section,
  .client-form-fold>.section {
    display: block !important;
    margin: 0 0 8mm !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .client-form-fold {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
  }
  .client-form-fold>summary { display: none !important; }
  .client-form-fold .section h2,
  #agreementForm .section h2 {
    color: #111 !important;
    font: bold 11pt/1.35 Georgia, 'Times New Roman', serif !important;
    margin: 0 0 4mm !important;
    padding: 0 !important;
    border: 0 !important;
    text-transform: none;
    letter-spacing: 0;
    break-after: avoid;
  }
  .client-form-fold .section .section-hint { display: none !important; }
  .client-box {
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 0 !important;
  }
  .fields { gap: 2mm 4mm !important; }
  .field, .field.wide {
    position: relative;
    flex-basis: 100% !important;
    min-height: 7.4mm;
    padding: 0 0 1mm;
    border-bottom: .25pt solid #e2e2e2;
    break-inside: avoid;
  }
  .field label {
    color: #5b5b5b !important;
    font: 8.5pt/1.35 Arial, sans-serif !important;
    margin-bottom: 0;
  }
  .field label i, .field label span { display: none !important; }
  .field input { opacity: 0 !important; height: 4.5mm !important; }
  .field .print-text {
    display: block !important;
    position: static !important;
    padding-left: 0;
    margin-top: -4.5mm;
    width: 100%;
    max-height: none !important;
    color: #222 !important;
    font: 10pt/1.35 Georgia, 'Times New Roman', serif !important;
    overflow-wrap: anywhere;
  }
  #agreementForm .payments { width: 100%; margin: 2mm 0 4mm; border: 0; }
  #agreementForm .payments th,
  #agreementForm .payments td {
    color: #161616 !important;
    font: 9.6pt/1.4 Georgia, 'Times New Roman', serif !important;
    padding: 2.2mm 0;
    border-bottom: .25pt solid #dcdcdc;
    background: #fff !important;
  }
  #agreementForm .payments td { text-align: right; font-weight: bold !important; }
  #agreementForm .fact {
    color: #333 !important;
    font: 9.4pt/1.48 Georgia, 'Times New Roman', serif !important;
    margin: 2mm 0 !important;
  }
  #agreementForm .terms-section,
  #fullLegalTerms {
    display: block !important;
    break-before: auto !important;
    page-break-before: auto !important;
    margin-top: 6mm !important;
  }
  #agreementForm .parties,
  #agreementForm .clause p,
  #agreementForm .sign-copy {
    font: 10.6pt/1.48 Georgia, 'Times New Roman', serif !important;
    color: #1d1d1d !important;
    text-align: left;
    orphans: 3;
    widows: 3;
    margin: 0 0 2.8mm !important;
  }
  #agreementForm .parties { margin-bottom: 6mm !important; }
  #agreementForm .clause {
    display: block !important;
    margin: 0 0 5.4mm !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  #agreementForm .clause h3 {
    font: bold 10.8pt/1.38 Georgia, 'Times New Roman', serif !important;
    color: #111 !important;
    margin: 0 0 2mm !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
  .sign-section {
    margin-top: 10mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    border-top: .3pt solid #c2c2c2 !important;
    padding-top: 5mm !important;
  }
  .consent { font: 9pt/1.4 Georgia, 'Times New Roman', serif !important; color: #222; }
  .consent input { border-color: #333 !important; accent-color: #111 !important; }
  .signature-label { display: flex !important; margin: 4mm 0 2mm !important; font: 9.2pt Arial, sans-serif !important; }
  .signature-box { height: 30mm !important; border: .3pt solid #bcbcbc !important; border-radius: 0 !important; }
  .signature-box img { object-fit: contain; }
  .signature-details {
    font: 9pt/1.45 Georgia, 'Times New Roman', serif !important;
    color: #222 !important;
  }
}
