/* hero chips */
.cs-feats { list-style: none; margin: .7rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .5rem; }
.cs-feats li { display: inline-flex; align-items: center; gap: .3rem; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3); color: #fff; border-radius: 999px; padding: .2rem .65rem; font-size: .8rem; }
/* in short */
.cx-short { margin: 1.5rem 0; padding: 1rem 1.2rem; border-radius: 16px; background: rgba(15,118,110,.08); border: 1px solid rgba(15,118,110,.3); }
.cx-short-h { font-weight: 800; margin-bottom: .4rem; }
.cx-short ul { margin: 0 0 .6rem; padding-left: 1.2rem; }
.cx-short li { margin-bottom: .3rem; }
.cx-short-act { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.cx-short-act small { color: #64748b; }
/* sections */
.cx-sec { margin: 2rem 0; }
.cx-h { font-weight: 800; font-size: 1.25rem; margin-bottom: .6rem; }
.cx-h4 { font-weight: 700; font-size: 1.05rem; margin: 0 0 .5rem; }
.cx-lead { color: #64748b; font-size: .9rem; }
.cx-note { color: #64748b; font-size: .82rem; margin: .4rem 0 0; }
.cx-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.cx-card { border: 1px solid rgba(100,116,139,.3); border-radius: 16px; padding: 1rem; background: rgba(255,255,255,.5); }
.cx-card-t { font-weight: 800; color: #0f766e; margin-bottom: .2rem; }
.cx-card-who { font-size: .88rem; color: #64748b; }
.cx-dl { margin: 0 0 .6rem; }
.cx-dl > div { display: flex; justify-content: space-between; gap: .6rem; border-bottom: 1px dashed rgba(100,116,139,.3); padding: .3rem 0; font-size: .9rem; }
.cx-dl dt { font-weight: 500; margin: 0; }
.cx-dl dd { margin: 0; font-weight: 700; text-align: right; }
.cx-card-s { font-size: .88rem; margin: 0; }
.cx-tbl { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cx-tbl table { border-collapse: collapse; width: 100%; font-size: .92rem;  }
.cx-tbl th, .cx-tbl td { border: 1px solid rgba(100,116,139,.3); padding: .5rem .65rem; text-align: left; vertical-align: top; }
.cx-tbl thead th { background: rgba(15,118,110,.1); }
.cx-quick th { width: 34%; background: rgba(15,118,110,.07); font-weight: 700; }
.cx-tips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.cx-tip { display: flex; gap: .7rem; border: 1px solid rgba(100,116,139,.3); border-radius: 16px; padding: .9rem; }
.cx-tip p { margin: .2rem 0 0; font-size: .88rem; color: #475569; }
.cx-n { flex: 0 0 2rem; height: 2rem; border-radius: 50%; background: #0f766e; color: #fff; font-weight: 800; display: grid; place-items: center; }
.cx-guides { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
.cx-guide { display: flex; gap: .7rem; align-items: flex-start; border: 1px solid rgba(100,116,139,.3); border-radius: 14px; padding: .8rem; text-decoration: none; color: inherit; }
.cx-guide:hover { border-color: #0f766e; }
.cx-guide small { display: block; color: #64748b; margin-top: .15rem; }
.cx-guide .bi { color: #0f766e; font-size: 1.3rem; }
@media (max-width: 860px) { .cx-grid3, .cx-tips, .cx-guides { grid-template-columns: 1fr; } }
/* PDF report: calculator + result + extras only */
.cx-print-head { display: none; }
@media print {
  .cx-printing .cx-print-head { display: block; font-weight: 800; font-size: 1rem; padding: 0 0 .6rem; border-bottom: 2px solid #0f766e; margin-bottom: .8rem; }
  .cx-printing header, .cx-printing nav, .cx-printing footer, .cx-printing .cs-hero, .cx-printing .calc-toolbar,
  .cx-printing .cx-guides, .cx-printing #cx-guides, .cx-printing .faq-section, .cx-printing .no-print { display: none !important; }
  .cx-printing .cx-card, .cx-printing .cx-tip, .cx-printing .cx-tbl { break-inside: avoid; }
}

/* Tables: a scrollbar shows only when the table really is wider than the screen; then it is a slim rounded bar */
.table-responsive, .cx-tbl, .lf-tbl, #ck-table .table-responsive, #ck-scen .table-responsive {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: #0f766e transparent;
}
.table-responsive::-webkit-scrollbar, .cx-tbl::-webkit-scrollbar, .lf-tbl::-webkit-scrollbar { height: 6px; }
.table-responsive::-webkit-scrollbar-track, .cx-tbl::-webkit-scrollbar-track, .lf-tbl::-webkit-scrollbar-track { background: rgba(100,116,139,.12); border-radius: 999px; }
.table-responsive::-webkit-scrollbar-thumb, .cx-tbl::-webkit-scrollbar-thumb, .lf-tbl::-webkit-scrollbar-thumb { background: #0f766e; border-radius: 999px; }
.cx-tbl table, .lf-tbl table, .table-responsive > table { width: 100%; }
@media (min-width: 861px) { .table-responsive, .cx-tbl, .lf-tbl { overflow-x: visible; } }
@media (max-width: 860px) {
  .cx-tbl th, .cx-tbl td, .lf-tbl th, .lf-tbl td, .table-responsive td, .table-responsive th { padding: .4rem .5rem; font-size: .85rem; }
  .cx-quick table, .cx-tbl table { min-width: 0; }
}
