.cms-tool-page{font-family:Inter,Arial,sans-serif;background:#f4f7fb;color:#0f172a;padding:18px;border-radius:18px;max-width:1360px;margin-left:auto;margin-right:auto}.cms-tool-sticky{position:sticky;top:10px;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid #dbe4ee;border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06);padding:14px 18px;margin-bottom:18px}.cms-tool-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.cms-tool-head h1{font-size:28px;margin:0;color:#0f172a;line-height:1.1}.cms-tool-head p{margin:6px 0 0;color:#64748b;max-width:760px}.cms-tool-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:18px;align-items:start}.cms-sidebar{background:#fff;border:1px solid #dbe4ee;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.04)}.cms-sidebar-title{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#64748b;font-weight:800;margin:0 0 10px}.cms-side-link{display:block;padding:11px 12px;border-radius:12px;background:#f8fbff;border:1px solid #e2e8f0;text-decoration:none;color:#0f172a;font-weight:800;margin-top:8px;font-size:13px;line-height:1.35}.cms-side-link.active,.cms-side-link:hover{background:#0f172a;color:#fff;border-color:#0f172a}.cms-tool-main{display:grid;gap:18px}.cms-top-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px}.cms-card{background:#fff;border:1px solid #dbe4ee;border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.04);padding:20px}.cms-card h2,.cms-card h3{margin:0 0 8px;color:#0f172a}.cms-card p{color:#64748b;line-height:1.65}.cms-field-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}.cms-field{background:#f8fbff;border:1px solid #e2e8f0;border-radius:14px;padding:13px}.cms-field label{display:block;font-weight:800;color:#475569;margin-bottom:8px;font-size:13px}.cms-field input,.cms-field select{width:100%;box-sizing:border-box;border:1px solid #d7e2ee;border-radius:12px;padding:12px 13px;background:#fff;color:#0f172a}.cms-results{background:linear-gradient(180deg,#0f172a,#1e293b);color:#fff;border-color:#0f172a}.cms-results h2{color:#fff}.cms-metric{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;margin-top:10px}.cms-metric-label{color:#cbd5e1;font-size:13px}.cms-metric-value{font-size:24px;font-weight:800;margin-top:4px;overflow-wrap:anywhere}.cms-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px;margin-top:12px}.cms-table{width:100%;border-collapse:collapse;font-size:14px}.cms-table th{background:#f8fbff;text-align:left;padding:12px;border-bottom:1px solid #e2e8f0;color:#334155}.cms-table td{padding:12px;border-bottom:1px solid #eef2f7}.cms-graph-row{display:grid;gap:10px}.cms-bar-top{display:flex;justify-content:space-between;font-weight:800;color:#334155}.cms-bar-track{height:14px;border-radius:999px;background:#e8eef7;overflow:hidden}.cms-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0f172a,#475569)}.cms-disclaimer{font-size:12px;color:#64748b;margin-top:10px}.cms-seo-block{background:#fff;border:1px solid #dbe4ee;border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.04);padding:20px}@media(max-width:900px){.cms-tool-layout{grid-template-columns:1fr}.cms-sidebar{order:2}.cms-top-grid{grid-template-columns:1fr}.cms-field-grid{grid-template-columns:1fr}.cms-tool-sticky{position:relative;top:auto}.cms-tool-head h1{font-size:24px}}

/* v4.3 user-friendly upgrade */
.cms-advanced{margin-top:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:12px}
.cms-advanced summary,.cms-collapsible summary{cursor:pointer;font-weight:800;color:#0f172a;list-style:none}
.cms-advanced summary::-webkit-details-marker,.cms-collapsible summary::-webkit-details-marker{display:none}
.cms-advanced summary:after,.cms-collapsible summary:after{content:'+';float:right;background:#e9f0f8;border-radius:999px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.cms-advanced[open] summary:after,.cms-collapsible[open] summary:after{content:'–'}
.cms-advanced .cms-field-grid{margin-top:14px}
.cms-meaning{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border-left:4px solid #0f172a}
.cms-meaning p{margin:8px 0;color:#475569;line-height:1.65;font-size:14px}
.cms-collapsible{padding:20px}
.cms-collapsible > div{margin-top:16px}
@media(max-width:760px){.cms-advanced .cms-field-grid{grid-template-columns:1fr}.cms-meaning{border-left:0;border-top:4px solid #0f172a}}


/* v4.6.6 professional polish */
body:has(.cms-calculator-root) .entry-header,
body:has(.cms-calculator-root) .page-header,
body:has(.cms-calculator-root) .entry-title{display:none!important}
.cms-tool-page{max-width:1360px;padding:22px}
.cms-tool-sticky{position:relative;top:auto;margin-bottom:20px}
.cms-tool-head h1{font-size:30px;letter-spacing:-.025em}
.cms-tool-head p{font-size:15px;line-height:1.55}
.cms-sidebar{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:thin}
.cms-sidebar-title{margin-bottom:12px}
.cms-card{padding:22px}
.cms-results{position:sticky;top:16px}
.cms-table-note{margin:10px 0 0;color:#64748b;font-size:13px;line-height:1.55}
.cms-table-toggle{margin-top:12px;border:1px solid #d7e2ee;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:#0f172a;cursor:pointer}
.cms-seo-block{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.cms-seo-block p{margin-bottom:0;color:#475569;line-height:1.65}
.cms-formula-block p:empty{display:none}
.cms-related-calculators a.cms-view-all-related{background:#0f172a;color:#fff;border-color:#0f172a}
.cms-faq-list details{transition:.18s ease}
.cms-faq-list details:hover{border-color:#bfccdc;background:#f8fbff}
@media(max-width:1100px){.cms-tool-layout{grid-template-columns:1fr}.cms-sidebar,.cms-results{position:relative;top:auto;max-height:none}.cms-top-grid{grid-template-columns:1fr}}


/* v4.6.7 layout repair: wider page, readable sidebar, stable input/results row */
body:has(.cms-calculator-root) .site.grid-container,
body:has(.cms-calculator-root) .site-content,
body:has(.cms-calculator-root) .content-area,
body:has(.cms-calculator-root) .inside-article,
body:has(.cms-calculator-root) .entry-content{
  max-width:none!important;
  width:100%!important;
}
body:has(.cms-calculator-root) .inside-article{
  padding-left:0!important;
  padding-right:0!important;
}
.cms-calculator-root{
  width:min(1360px,calc(100vw - 44px));
  max-width:none!important;
  margin-left:50%!important;
  transform:translateX(-50%);
}
.cms-tool-content-wide{
  width:min(1360px,calc(100vw - 44px));
  max-width:none!important;
  margin-left:50%!important;
  transform:translateX(-50%);
}
.cms-tool-page{
  width:100%;
  max-width:1360px!important;
  box-sizing:border-box;
  padding:20px!important;
}
.cms-tool-layout{
  grid-template-columns:320px minmax(0,1fr)!important;
  gap:20px!important;
}
.cms-sidebar{
  position:relative!important;
  top:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:16px!important;
}
.cms-side-link{
  font-size:14px!important;
  line-height:1.38!important;
  padding:12px 14px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.cms-tool-main{
  min-width:0!important;
}
.cms-top-grid{
  grid-template-columns:minmax(520px,1fr) minmax(340px,400px)!important;
  align-items:stretch!important;
  gap:20px!important;
}
.cms-results{
  position:relative!important;
  top:auto!important;
  min-width:0!important;
}
.cms-field-grid{
  grid-template-columns:repeat(2,minmax(190px,1fr))!important;
}
.cms-card{
  box-sizing:border-box;
}
@media(max-width:1220px){
  .cms-tool-layout{grid-template-columns:1fr!important}
  .cms-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .cms-sidebar-title{grid-column:1/-1}
  .cms-side-link{margin-top:0!important}
}
@media(max-width:980px){
  .cms-top-grid{grid-template-columns:1fr!important}
  .cms-field-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .cms-calculator-root,.cms-tool-content-wide{
    width:100%!important;
    margin-left:0!important;
    transform:none!important;
  }
  .cms-tool-page{padding:14px!important;border-radius:14px!important}
  .cms-sidebar{display:block!important}
  .cms-side-link{margin-top:8px!important}
}


/* v4.6.8 SEO content heading highlight */
.cms-tool-content-wide h2,
.cms-tool-content h2{
  margin:30px 0 12px!important;
  padding:12px 16px!important;
  border-left:5px solid #0f172a!important;
  border-radius:12px!important;
  background:linear-gradient(90deg,#eef4fb 0%,#ffffff 100%)!important;
  color:#0f172a!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
}
.cms-tool-content-wide .cms-tool-intro + h2{margin-top:24px!important}
.cms-tool-content-wide h2 + p,
.cms-tool-content h2 + p{margin-top:0!important}
.cms-formula-block{border:1px solid #dbe7f3!important;border-radius:16px!important;background:#f8fbff!important;padding:16px!important}
.cms-formula-line{background:#eaf2fb!important;border:1px solid #dbe7f3!important;border-radius:12px!important;padding:13px 14px!important;font-weight:900!important;color:#0f172a!important;overflow:auto!important}
@media(max-width:760px){.cms-tool-content-wide h2,.cms-tool-content h2{font-size:21px!important;padding:11px 13px!important}}


/* v4.6.9 balanced wide layout: wider sidebar + inputs, slimmer results */
body:has(.cms-calculator-root){overflow-x:hidden}
.cms-calculator-root,
.cms-tool-content-wide{
  width:min(1480px,calc(100vw - 20px))!important;
}
.cms-tool-page{
  max-width:1480px!important;
  padding:18px!important;
}
.cms-tool-layout{
  grid-template-columns:350px minmax(0,1fr)!important;
  gap:22px!important;
}
.cms-sidebar{
  padding:18px!important;
}
.cms-sidebar-title{
  font-size:12px!important;
  letter-spacing:.14em!important;
}
.cms-side-link{
  font-size:14px!important;
  line-height:1.42!important;
  padding:13px 15px!important;
  border-radius:13px!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
}
.cms-top-grid{
  grid-template-columns:minmax(650px,1fr) minmax(285px,335px)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.cms-results{
  padding:20px!important;
}
.cms-results h2{
  font-size:30px!important;
  line-height:1.15!important;
}
.cms-metric{
  padding:11px 12px!important;
}
.cms-metric-value{
  font-size:23px!important;
}
.cms-field-grid{
  grid-template-columns:repeat(2,minmax(245px,1fr))!important;
  gap:16px!important;
}
.cms-field{
  padding:15px!important;
}
.cms-field label{
  font-size:12.5px!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.cms-field input,
.cms-field select{
  min-height:48px!important;
  font-size:15px!important;
}
@media(max-width:1280px){
  .cms-calculator-root,.cms-tool-content-wide{width:min(100%,calc(100vw - 16px))!important}
  .cms-tool-layout{grid-template-columns:330px minmax(0,1fr)!important;gap:18px!important}
  .cms-top-grid{grid-template-columns:minmax(520px,1fr) minmax(270px,315px)!important;gap:18px!important}
  .cms-field-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
  .cms-side-link{font-size:13.5px!important;padding:12px 14px!important}
}
@media(max-width:1120px){
  .cms-tool-layout{grid-template-columns:1fr!important}
  .cms-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
  .cms-sidebar-title{grid-column:1/-1}
  .cms-side-link{margin-top:0!important}
  .cms-top-grid{grid-template-columns:minmax(0,1fr) minmax(285px,330px)!important}
}
@media(max-width:880px){
  .cms-top-grid{grid-template-columns:1fr!important}
  .cms-field-grid{grid-template-columns:1fr!important}
  .cms-sidebar{display:block!important}
  .cms-side-link{margin-top:8px!important}
}


/* v4.7.0 typography balance: stronger input labels + wider readable sidebar */
.cms-calculator-root,
.cms-tool-content-wide{
  width:min(1520px,calc(100vw - 18px))!important;
}
.cms-tool-page{
  max-width:1520px!important;
}
.cms-tool-layout{
  grid-template-columns:370px minmax(0,1fr)!important;
  gap:22px!important;
}
.cms-sidebar{
  padding:18px!important;
}
.cms-side-link{
  font-size:14.8px!important;
  font-weight:850!important;
  line-height:1.34!important;
  padding:13px 15px!important;
  min-height:46px!important;
  letter-spacing:-.005em!important;
}
.cms-top-grid{
  grid-template-columns:minmax(690px,1fr) minmax(275px,320px)!important;
  gap:20px!important;
}
.cms-field-grid{
  grid-template-columns:repeat(2,minmax(270px,1fr))!important;
  gap:16px!important;
}
.cms-field label{
  font-size:14px!important;
  font-weight:900!important;
  color:#0f172a!important;
  letter-spacing:.005em!important;
  line-height:1.2!important;
  margin-bottom:10px!important;
  white-space:nowrap!important;
}
.cms-field input,
.cms-field select{
  min-height:50px!important;
  font-size:15px!important;
}
.cms-card h2{
  font-weight:850!important;
}
@media(max-width:1360px){
  .cms-tool-layout{grid-template-columns:345px minmax(0,1fr)!important;gap:18px!important}
  .cms-top-grid{grid-template-columns:minmax(580px,1fr) minmax(270px,315px)!important;gap:18px!important}
  .cms-field-grid{grid-template-columns:repeat(2,minmax(235px,1fr))!important}
  .cms-side-link{font-size:14.2px!important;padding:12px 14px!important}
}
@media(max-width:1160px){
  .cms-tool-layout{grid-template-columns:1fr!important}
  .cms-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
  .cms-sidebar-title{grid-column:1/-1}
  .cms-side-link{margin-top:0!important}
  .cms-top-grid{grid-template-columns:minmax(0,1fr) minmax(285px,330px)!important}
}
@media(max-width:900px){
  .cms-top-grid{grid-template-columns:1fr!important}
  .cms-field-grid{grid-template-columns:1fr!important}
  .cms-sidebar{display:block!important}
  .cms-side-link{margin-top:8px!important}
}
@media(max-width:520px){
  .cms-field label{font-size:13.5px!important;white-space:normal!important}
  .cms-side-link{font-size:14px!important}
}


/* v4.7.1 viewport-safe calculator layout fix
   Fixes logged-out screen cutting by removing oversized min column widths. */
html, body { overflow-x: hidden; }

body:has(.cms-calculator-root) .site.grid-container,
body:has(.cms-calculator-root) .grid-container,
body:has(.cms-calculator-root) .site-content,
body:has(.cms-calculator-root) .content-area,
body:has(.cms-calculator-root) .inside-article,
body:has(.cms-calculator-root) .entry-content {
  max-width: none !important;
  width: 100% !important;
  overflow-x: hidden !important;
}

body:has(.cms-calculator-root) .inside-article {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cms-calculator-root,
.cms-tool-content-wide {
  width: min(1360px, calc(100vw - 32px)) !important;
  max-width: min(1360px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

.cms-tool-page {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 18px !important;
  overflow-x: hidden !important;
}

.cms-tool-layout {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.cms-tool-main,
.cms-sidebar,
.cms-card,
.cms-results,
.cms-top-grid,
.cms-field-grid {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.cms-sidebar {
  width: 100% !important;
  padding: 16px !important;
  overflow: visible !important;
  position: relative !important;
  top: auto !important;
  max-height: none !important;
}

.cms-side-link {
  font-size: 14px !important;
  line-height: 1.35 !important;
  padding: 12px 14px !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.cms-top-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 18px !important;
  width: 100% !important;
  align-items: stretch !important;
  overflow: hidden !important;
}

.cms-results {
  width: 100% !important;
  min-width: 0 !important;
  position: relative !important;
  top: auto !important;
  overflow: hidden !important;
}

.cms-results h2 {
  font-size: 28px !important;
  line-height: 1.15 !important;
}

.cms-metric-value {
  font-size: 22px !important;
  overflow-wrap: anywhere !important;
}

.cms-field-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

.cms-field label {
  font-size: 14px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  letter-spacing: .01em !important;
}

.cms-field input,
.cms-field select {
  max-width: 100% !important;
}

@media (max-width: 1240px) {
  .cms-calculator-root,
  .cms-tool-content-wide {
    width: min(1180px, calc(100vw - 28px)) !important;
    max-width: min(1180px, calc(100vw - 28px)) !important;
  }
  .cms-tool-layout {
    grid-template-columns: 285px minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  .cms-top-grid {
    grid-template-columns: minmax(0, 1fr) 285px !important;
    gap: 16px !important;
  }
}

@media (max-width: 1060px) {
  .cms-tool-layout {
    grid-template-columns: 1fr !important;
  }
  .cms-sidebar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .cms-sidebar-title {
    grid-column: 1 / -1 !important;
  }
  .cms-side-link { margin-top: 0 !important; }
  .cms-top-grid {
    grid-template-columns: minmax(0, 1fr) 290px !important;
  }
}

@media (max-width: 860px) {
  .cms-calculator-root,
  .cms-tool-content-wide {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
  .cms-top-grid,
  .cms-field-grid {
    grid-template-columns: 1fr !important;
  }
  .cms-results { width: 100% !important; }
}

@media (max-width: 640px) {
  .cms-tool-page { padding: 12px !important; border-radius: 14px !important; }
  .cms-sidebar { display: block !important; }
  .cms-side-link { margin-top: 8px !important; }
}



/* v4.7.4 small category-only internal links block */
.cms-more-tool-links{
  margin:26px 0 10px;
  padding:15px 17px;
  border:1px solid #d7e4f0;
  border-radius:15px;
  background:linear-gradient(135deg,#f8fafc 0%,#eef4fa 100%);
  box-shadow:0 7px 18px rgba(15,23,42,.045);
}
.cms-more-tool-head{margin:0 0 8px;padding:0;border:0}
.cms-more-tool-kicker{display:inline-flex;align-items:center;font-size:15px;font-weight:900;color:#0f172a;letter-spacing:-.01em}
.cms-more-tool-head p{margin:3px 0 0!important;color:#64748b;font-size:12.8px;line-height:1.45}
.cms-more-tool-list{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;font-size:13px;line-height:1.55}
.cms-more-tool-list a{color:#27496d!important;text-decoration:none;font-weight:850;border-bottom:1px solid rgba(39,73,109,.24)}
.cms-more-tool-list a:hover{color:#0f172a!important;border-bottom-color:#0f172a}
.cms-more-tool-sep{color:#a1afbf;font-weight:800;line-height:1}
@media(max-width:760px){
  .cms-more-tool-links{padding:13px 14px;margin-top:22px}
  .cms-more-tool-list{font-size:12.5px;gap:4px 7px;line-height:1.65}
  .cms-more-tool-head p{font-size:12.5px}
}

/* v4.8.5 mobile UI safety patch - buttons, result cards, and scrollable tables only */
.cms-tool-page,
.cms-tool-page * {
  box-sizing: border-box;
}

.cms-calculator-root,
.cms-tool-page,
.cms-tool-main,
.cms-card,
.cms-results,
.cms-seo-block {
  max-width: 100%;
}

.cms-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.cms-table {
  min-width: 560px;
}

.cms-table td,
.cms-table th {
  white-space: nowrap;
}

.cms-results .cms-disclaimer {
  color: #aebdd1;
  line-height: 1.55;
}

@media (max-width: 640px) {
  .cms-tool-page {
    overflow-x: hidden;
  }

  .cms-tool-sticky {
    padding: 12px 14px !important;
    border-radius: 16px !important;
    margin-bottom: 12px !important;
  }

  .cms-tool-head {
    gap: 12px !important;
  }

  .cms-tool-head h1 {
    font-size: 26px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em;
  }

  .cms-tool-head p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .cms-btn-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    width: 100%;
  }

  .cms-btn-row .cms-btn {
    width: 100%;
    min-height: 42px;
    padding: 9px 10px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
    line-height: 1.2;
    text-align: center;
  }

  .cms-tool-sticky .cms-btn-row .cms-btn-primary {
    grid-column: 1 / -1;
    min-height: 46px;
    font-size: 15px !important;
  }

  .cms-card,
  .cms-seo-block {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .cms-card h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
  }

  .cms-card h3 {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }

  .cms-field {
    padding: 11px !important;
    border-radius: 12px !important;
  }

  .cms-field input,
  .cms-field select {
    min-height: 42px;
    padding: 10px 11px !important;
    font-size: 15px !important;
  }

  .cms-results {
    padding: 18px 20px !important;
  }

  .cms-metric {
    padding: 12px 13px !important;
    margin-top: 10px !important;
    border-radius: 13px !important;
  }

  .cms-metric-label {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .cms-metric-value {
    font-size: clamp(20px, 6vw, 24px) !important;
    line-height: 1.2 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .cms-table-wrap {
    border-radius: 13px !important;
    margin-top: 10px !important;
    scrollbar-width: thin;
  }

  .cms-table {
    min-width: 620px;
    font-size: 13px !important;
  }

  .cms-table td,
  .cms-table th {
    padding: 10px 11px !important;
    line-height: 1.35 !important;
  }

  .cms-table-note {
    font-size: 12.5px !important;
  }

  .cms-table-toggle {
    width: 100%;
    border-radius: 12px !important;
  }
}

@media (max-width: 420px) {
  .cms-tool-page {
    padding: 10px !important;
  }

  .cms-tool-head h1 {
    font-size: 24px !important;
  }

  .cms-btn-row .cms-btn {
    font-size: 13.5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .cms-card,
  .cms-seo-block {
    padding: 14px !important;
  }
}

/* v4.9.0 refinance result clarity and tooltip definitions */
.cms-refi-extra{margin-top:18px;display:grid;gap:16px}
.cms-refi-extra h4{margin:0 0 8px;color:#0f172a;font-size:18px;letter-spacing:-.01em}
.cms-definition-box,.cms-takeaway-box{border:1px solid #dbe4ee;border-radius:16px;padding:16px;background:#f8fbff}
.cms-takeaway-box{background:#f0f7ff;border-color:#cfe0f5}
.cms-definition-box p,.cms-takeaway-box p{margin:7px 0;color:#475569;line-height:1.6;font-size:14px}
.cms-term{position:relative;display:inline-flex;align-items:center;gap:5px;border-bottom:1px dotted #2563eb;color:#0f172a;font-weight:800;cursor:help}
.cms-term:after{content:'?';display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#eaf2ff;color:#2563eb;font-size:11px;font-weight:900;line-height:1}
.cms-term:before{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 10px);width:min(280px,72vw);background:#0f172a;color:#fff;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.45;box-shadow:0 12px 28px rgba(15,23,42,.22);opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s ease;z-index:30;white-space:normal;pointer-events:none}
.cms-term:hover:before,.cms-term:focus:before{opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:760px){.cms-refi-extra{gap:14px}.cms-definition-box,.cms-takeaway-box{padding:14px}.cms-term:before{left:50%;transform:translate(-50%,6px)}.cms-term:hover:before,.cms-term:focus:before{transform:translate(-50%,0)}}


/* v4.9.1 detailed mortgage term breakdowns */
.cms-term-breakdowns{margin-top:18px;display:grid;gap:12px}
.cms-term-breakdowns h4{margin:0;color:#0f172a;font-size:20px;letter-spacing:-.02em}
.cms-term-breakdowns>p{margin:0;color:#53657f;line-height:1.6;font-size:14px}
.cms-schedule-detail{border:1px solid #dbe4ee;border-radius:15px;background:#f8fbff;overflow:hidden}
.cms-schedule-detail summary{cursor:pointer;padding:14px 16px;font-weight:900;color:#0f172a;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cms-schedule-detail summary::-webkit-details-marker{display:none}
.cms-schedule-detail summary:after{content:'Open';font-size:12px;font-weight:900;color:#2563eb;background:#eaf2ff;border-radius:999px;padding:5px 10px}
.cms-schedule-detail[open] summary:after{content:'Close'}
.cms-schedule-detail .cms-table-wrap{margin:0 12px 12px;border-radius:12px;background:#fff}
.cms-detail-table{min-width:760px}
@media(max-width:760px){.cms-term-breakdowns{gap:10px}.cms-term-breakdowns h4{font-size:18px}.cms-schedule-detail summary{padding:12px 13px}.cms-detail-table{min-width:720px}}


/* v4.9.2 global result table help tooltips and definition guide */
.cms-help-label{position:relative;display:inline-flex;align-items:center;gap:6px;border-bottom:1px dotted #2563eb;color:#0f172a;font-weight:800;cursor:help;line-height:1.35}
.cms-help-label:after{content:'?';display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;border-radius:50%;background:#eaf2ff;color:#2563eb;font-size:11px;font-weight:900;line-height:1}
.cms-help-label:before{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 10px);width:min(300px,74vw);background:#0f172a;color:#fff;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.45;box-shadow:0 12px 28px rgba(15,23,42,.22);opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s ease;z-index:50;white-space:normal;pointer-events:none}
.cms-help-label:hover:before,.cms-help-label:focus:before{opacity:1;visibility:visible;transform:translateY(0)}
.cms-definition-guide{margin-top:14px;border:1px solid #dbe4ee;border-radius:16px;background:#f8fbff;padding:14px 16px}
.cms-definition-guide h4{margin:0 0 8px;color:#0f172a;font-size:17px;letter-spacing:-.01em}
.cms-definition-guide ul{margin:0;padding-left:18px;display:grid;gap:6px}
.cms-definition-guide li{color:#475569;line-height:1.55;font-size:14px}
.cms-definition-guide strong{color:#0f172a}
@media(max-width:760px){.cms-help-label:before{left:50%;transform:translate(-50%,6px)}.cms-help-label:hover:before,.cms-help-label:focus:before{transform:translate(-50%,0)}.cms-definition-guide{padding:13px}.cms-definition-guide li{font-size:13.5px}}

/* v4.9.3: mortgage extra payment detailed monthly breakdown polish */
.cms-extra-breakdowns{margin-top:16px;display:grid;gap:12px}.cms-extra-breakdowns h4{margin:0;color:#0f172a;font-size:18px}.cms-extra-breakdowns>p,.cms-schedule-note{margin:0 12px 12px;color:#64748b;line-height:1.55;font-size:14px}.cms-monthly-breakdown .cms-table-wrap{max-height:520px}.cms-definition-box{margin-top:14px;border:1px solid #dbe4ee;border-radius:16px;background:#f8fbff;padding:14px 16px}.cms-definition-box h4{margin:0 0 8px;color:#0f172a}.cms-definition-box p{margin:6px 0;color:#475569;line-height:1.55}.cms-definition-box strong{color:#0f172a}@media(max-width:760px){.cms-extra-breakdowns{gap:10px}.cms-extra-breakdowns h4{font-size:17px}.cms-schedule-note{font-size:13.5px}.cms-monthly-breakdown .cms-table-wrap{max-height:460px}}

/* v4.9.4: make expanded monthly payoff schedules scroll vertically and show all months */
.cms-monthly-breakdown .cms-table-wrap{
  max-height:620px!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.cms-monthly-breakdown .cms-table-wrap:before{
  content:'Scroll inside this table to view all months';
  display:block;
  position:sticky;
  left:0;
  top:0;
  background:#f8fbff;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  padding:8px 12px;
  border-bottom:1px solid #e2e8f0;
  z-index:4;
}
.cms-monthly-breakdown .cms-table th{
  position:sticky;
  top:33px;
  z-index:3;
  background:#f8fbff;
}
@media(max-width:760px){
  .cms-monthly-breakdown .cms-table-wrap{
    max-height:70vh!important;
    overflow-y:auto!important;
  }
}


/* v4.9.8 Simple vs Advanced comparison UI */
.cms-advanced-actions{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.28);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.cms-advanced-actions p{
  margin:0;
  color:#64748b;
  font-size:13px;
}
.cms-compare-panel{
  margin-top:16px;
  padding:16px;
  border:1px solid rgba(59,130,246,.22);
  border-radius:16px;
  background:#f8fbff;
}
.cms-compare-panel h4{
  margin:0 0 6px;
}
.cms-compare-panel p{
  margin:0 0 12px;
  color:#52627a;
}
@media(max-width:700px){
  .cms-advanced-actions .cms-btn{width:100%;}
}


/* v4.9.9 Inline advanced comparison placement */
.cms-inline-compare{
  margin-top:12px;
}
.cms-inline-compare:empty{
  display:none;
}
.cms-inline-compare .cms-compare-panel{
  margin-top:0;
}


/* v5.0.0 Down payment installment schedule support */
.cms-extra-breakdowns .cms-definition-box{margin-top:14px;}

/* v5.0.5 Rent vs Buy custom advanced comparison */
.cms-rentbuy-compare .cms-compare-subtitle{
  margin:18px 0 8px;
  font-size:16px;
}
.cms-rentbuy-compare .cms-table td:nth-child(2),
.cms-rentbuy-compare .cms-table td:nth-child(3){
  font-weight:600;
}

/* v5.1.7 Back to top button */
.cms-back-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9999;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:22px;
  font-weight:800;
  line-height:1;
  box-shadow:0 12px 28px rgba(15,23,42,.25);
  cursor:pointer;
}
.cms-back-top:hover{background:#1e293b;}
@media(max-width:700px){.cms-back-top{right:14px;bottom:14px;width:42px;height:42px;}}


/* v5.1.11: schedule total rows and internal scrolling for large breakdown tables */
.cms-schedule-detail .cms-internal-scroll-table,
.cms-biweekly-breakdown .cms-table-wrap,
.cms-yearly-breakdown .cms-table-wrap {
  max-height: 620px !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  overscroll-behavior: contain;
}

.cms-schedule-detail .cms-internal-scroll-table .cms-table,
.cms-biweekly-breakdown .cms-table,
.cms-yearly-breakdown .cms-table {
  min-width: 760px;
}

.cms-total-row td {
  font-weight: 900;
  background: #f0f7ff;
  color: #0f172a;
  border-top: 2px solid #cfe0f5;
  position: sticky;
  bottom: 0;
  z-index: 2;
}

.cms-total-row td:first-child {
  color: #1d4ed8;
}

@media(max-width:760px){
  .cms-schedule-detail .cms-internal-scroll-table,
  .cms-biweekly-breakdown .cms-table-wrap,
  .cms-yearly-breakdown .cms-table-wrap {
    max-height: 70vh !important;
  }
}


/* v5.1.13: year-grouped long schedules */
.cms-year-group-list{display:grid;gap:10px;margin-top:12px;}
.cms-year-group{border:1px solid #dbe7f5;border-radius:12px;background:#fff;overflow:hidden;}
.cms-year-group > summary{display:grid;grid-template-columns:minmax(86px,1fr) repeat(5,minmax(110px,1fr));gap:10px;align-items:center;padding:12px 14px;cursor:pointer;font-size:13px;color:#334155;list-style:none;}
.cms-year-group > summary::-webkit-details-marker{display:none;}
.cms-year-group > summary:after{content:'+';justify-self:end;font-weight:900;color:#0f172a;}
.cms-year-group[open] > summary:after{content:'–';}
.cms-year-title{font-weight:900;color:#0f172a;font-size:14px;}
.cms-schedule-total-wrap{margin-top:14px;overflow-x:auto;}
@media(max-width:900px){.cms-year-group > summary{grid-template-columns:1fr 1fr;}}

/* v5.1.17: grouped schedule controls and headings */
.cms-schedule-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 12px 8px;
}
.cms-schedule-toolbar h5,
.cms-schedule-section-title,
.cms-schedule-total-title{
  margin:0;
  font-size:15px;
  font-weight:900;
  color:#0f172a;
}
.cms-schedule-total-title{margin:14px 12px 8px;}
.cms-mini-btn{
  border:1px solid #dbe7f5;
  background:#eef6ff;
  color:#0f172a;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.cms-mini-btn:hover{background:#dfeeff;}
.cms-schedule-toolbar .cms-mini-btn{margin-left:auto;}
.cms-schedule-toolbar .cms-mini-btn + .cms-mini-btn{margin-left:0;}
@media(max-width:700px){.cms-schedule-toolbar{align-items:flex-start}.cms-schedule-toolbar .cms-mini-btn{margin-left:0}}
