/* JOBIX_V149_MOBILE_QUOTE_FINAL_POLISH
   Final polish after mobile SMS review:
   - deposit paid vs paid in full wording
   - duplicate approved/payment block suppression
   - paid/deposit note cleanup
   - sticky header collision reduction
*/
:root{--jx149-blue:#2563eb;--jx149-green:#16a34a;--jx149-ink:#0f172a;--jx149-muted:#64748b;--jx149-line:#dbe7f4;}

/* Make Text/SMS buttons look intentional, not secondary grey utilities. */
.actions button[name="send_sms"],.actions .btn.sms,.actions a[href*="sms"],
.actions.no-print button[name="send_sms"],.actions.no-print .btn.sms,
button[data-action*="sms"],button[data-jobix-action*="sms"],.jx-text-quote,.jx-text-invoice,
a.btn[href*="text"],button[name="text_quote"],button[name="text_invoice"]{
  background:linear-gradient(135deg,#06b6d4,#2563eb)!important;
  color:#fff!important;border:0!important;box-shadow:0 10px 22px rgba(37,99,235,.22)!important;
}

@media screen and (max-width:760px){
  /* Top bar should not cover important success headings on customer phone views. */
  body.jx148-public-quote-body .jx244-topbar{
    position:sticky!important;top:0!important;z-index:60!important;
    border-bottom:1px solid rgba(203,213,225,.9)!important;
  }
  body.jx148-public-quote-body .jx244-main,
  body.jx148-public-quote-body #review-scope,
  body.jx148-public-quote-body #approve-pay,
  body.jx148-public-quote-body #job-scheduled-info{scroll-margin-top:96px!important;}

  /* The green state banner already says the result; hide the duplicate large copy below it. */
  body.jx149-state-deposit .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker,
  body.jx149-state-deposit .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker + h2,
  body.jx149-state-deposit .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker + h2 + p,
  body.jx149-state-paidfull .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker,
  body.jx149-state-paidfull .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker + h2,
  body.jx149-state-paidfull .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker + h2 + p,
  body.jx149-state-paid .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker,
  body.jx149-state-paid .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker + h2,
  body.jx149-state-paid .jx246-approved.jx148-success-card .jx148-state-banner + .jx244-kicker + h2 + p{
    display:none!important;
  }
  body.jx148-public-quote-body .jx246-approved.jx148-success-card{padding-top:18px!important;margin-top:18px!important;}
  body.jx148-public-quote-body .jx148-state-banner{margin-bottom:14px!important;}

  /* If paid/deposit state still includes the old minimum-payment note from the document template, replace it visually. */
  body.jx149-state-deposit .jx16-note-card p,
  body.jx149-state-deposit .jx16-note-card .jx26-doc-minpay,
  body.jx149-state-paidfull .jx16-note-card p,
  body.jx149-state-paidfull .jx16-note-card .jx26-doc-minpay,
  body.jx149-state-paid .jx16-note-card p,
  body.jx149-state-paid .jx16-note-card .jx26-doc-minpay{display:none!important;}

  body.jx149-state-deposit .jx16-note-card:after{
    content:"Deposit received. Remaining balance will be due on the final invoice.";
    display:block;margin-top:10px;padding:14px 16px;border-radius:16px;
    background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:850;line-height:1.35;
  }
  body.jx149-state-paidfull .jx16-note-card:after,
  body.jx149-state-paid .jx16-note-card:after{
    content:"Paid in full. No balance is due.";
    display:block;margin-top:10px;padding:14px 16px;border-radius:16px;
    background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;font-weight:850;line-height:1.35;
  }

  /* Make payment chip wording feel like a result badge. */
  .jx148-paid-chip,.jx244-paid-chip{font-size:16px!important;padding:12px 18px!important;}

  /* Service cards are already labeled by v148; tighten them slightly for customer polish. */
  .jx16-table .jx16-table-row{border-radius:22px!important;box-shadow:0 12px 28px rgba(15,23,42,.05)!important;}
  .jx16-table .jx16-table-row>div::before{color:#64748b!important;letter-spacing:.20em!important;}
  .jx16-item-name strong{font-size:20px!important;line-height:1.16!important;}

  /* Terms/next-step cards should be readable but not absurdly huge. */
  .jx16-terms-card p,.jx16-terms p{font-size:17px!important;line-height:1.48!important;}
  .jx244-card#job-scheduled-info h2{font-size:32px!important;line-height:1.06!important;}
  .jx244-card#job-scheduled-info p{font-size:18px!important;line-height:1.45!important;}

  /* Make Jobix secondary; tenant brand stays primary. */
  .jx244-brand small{font-size:10px!important;color:#7c8aa0!important;font-weight:700!important;letter-spacing:0!important;}
}
