:root {
  --ink: #13282d;
  --ink-soft: #53686d;
  --muted: #75878a;
  --line: #dce6e7;
  --line-strong: #c7d6d8;
  --paper: #f4f7f7;
  --white: #ffffff;
  --teal-950: #071d21;
  --teal-900: #0a282d;
  --teal-800: #11383d;
  --teal-700: #14545a;
  --teal-600: #167078;
  --teal-500: #1a8790;
  --teal-100: #dff1f1;
  --teal-50: #edf8f8;
  --green: #1f7758;
  --green-bg: #e9f6ef;
  --amber: #9a630d;
  --amber-bg: #fff5df;
  --red: #a23d36;
  --red-bg: #fff0ee;
  --shadow: 0 18px 55px rgba(15, 42, 47, .08);
  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 13px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 10%, rgba(26,135,144,.08), transparent 28rem),
    linear-gradient(180deg, #edf3f3 0, var(--paper) 32rem, var(--paper) 100%);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
}
button, input { font: inherit; }
a { color: inherit; }
.page-shell { min-height: 100vh; }

.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--teal-950), var(--teal-900) 55%, #0b3438);
  color: white;
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255,255,255,.12);
}
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 28px 58px;
}
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-glow-a { width: 480px; height: 480px; right: -140px; top: -260px; background: rgba(29, 159, 166, .14); }
.hero-glow-b { width: 300px; height: 300px; left: 24%; bottom: -260px; background: rgba(60, 190, 166, .08); }
.brandline { display: flex; align-items: center; gap: 13px; }
.brandmark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: white;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.brandmark img { display:block; width: 25px; height: 25px; object-fit: contain; }
.eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.65); font-weight: 700; }
.hero-copy { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-top: 44px; }
.hero-copy h1 { margin: 0; font-size: clamp(38px, 6vw, 72px); letter-spacing: -.052em; line-height: .96; font-weight: 780; }
.hero-copy p { max-width: 720px; margin: 20px 0 0; font-size: clamp(16px, 2vw, 20px); line-height: 1.55; color: rgba(255,255,255,.72); }
.hero-badge { min-width: 124px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); border-radius: 18px; backdrop-filter: blur(8px); }
.hero-badge span { display:block; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.58); }
.hero-badge strong { display:block; margin-top: 3px; font-size: 26px; }

main { max-width: 1240px; margin: -24px auto 0; padding: 0 28px 70px; position: relative; z-index: 3; }
.calculator-card, .results-section, .details-section, .limits-section, .method-section {
  background: var(--white);
  border: 1px solid rgba(199,214,216,.82);
  box-shadow: var(--shadow);
  border-radius: var(--radius-xl);
}
.calculator-card { padding: 30px; }
.results-section, .details-section, .limits-section, .method-section { margin-top: 20px; padding: 30px; }
.section-head { display:flex; justify-content:space-between; align-items:flex-start; gap: 20px; margin-bottom: 25px; }
.section-head.compact { margin-bottom: 20px; }
.section-kicker { display:block; margin-bottom: 6px; font-size: 11px; font-weight: 800; color: var(--teal-600); letter-spacing: .13em; text-transform: uppercase; }
h2 { margin: 0; font-size: 25px; letter-spacing: -.025em; }

.input-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.field { display:flex; flex-direction:column; min-width:0; padding: 17px; background: #f9fbfb; border:1px solid var(--line); border-radius: var(--radius-lg); transition: border .16s ease, box-shadow .16s ease, transform .16s ease; }
.field:focus-within { border-color: rgba(22,112,120,.55); box-shadow: 0 0 0 4px rgba(22,112,120,.08); transform: translateY(-1px); }
.field-primary { background: linear-gradient(180deg, var(--teal-50), #fbfdfd); border-color: #bddcdc; }
.field-label { min-height: 38px; font-size: 13px; line-height:1.35; color: var(--ink-soft); font-weight:700; }
.input-wrap { display:flex; align-items:baseline; gap:7px; margin-top: 7px; }
.input-wrap input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font-size:27px; font-weight:760; letter-spacing:-.035em; cursor:text; user-select:text; -webkit-user-select:text; caret-color:var(--teal-700); }
.input-unit { flex:0 0 auto; font-size:13px; color:var(--muted); font-weight:750; }
.field small { display:block; min-height: 33px; margin-top: 8px; color:var(--muted); font-size:11px; line-height:1.45; }
.options-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.9fr); align-items:stretch; gap:16px; margin-top:16px; }
.switch-card { display:flex; align-items:center; justify-content:space-between; gap:22px; min-width:0; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius-md); cursor:pointer; }
.switch-card > span:first-child { flex:1; }
.switch-card strong { display:block; font-size:13px; }
.switch-card small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.switch-card input { position:absolute; opacity:0; pointer-events:none; }
.switch { position:relative; flex:0 0 44px; width:44px; height:25px; border-radius:999px; background:#c9d5d7; transition:.18s ease; }
.switch::after { content:""; position:absolute; width:19px; height:19px; top:3px; left:3px; border-radius:50%; background:white; box-shadow:0 2px 6px rgba(0,0,0,.18); transition:.18s ease; }
.switch-card input:checked + .switch { background:var(--teal-600); }
.switch-card input:checked + .switch::after { transform:translateX(19px); }
.summary-input { display:flex; align-items:center; justify-content:space-between; gap:20px; min-width:0; padding:14px 18px; border-radius:var(--radius-md); background:var(--teal-950); color:white; }
.summary-input span { color:rgba(255,255,255,.64); font-size:12px; }
.summary-input strong { font-size:22px; letter-spacing:-.025em; }

.ghost-button, .primary-button { border-radius:11px; padding:10px 14px; font-size:12px; font-weight:750; cursor:pointer; transition:.16s ease; }
.ghost-button { background:white; border:1px solid var(--line-strong); color:var(--ink-soft); }
.ghost-button:hover { border-color:var(--teal-600); color:var(--teal-700); background:var(--teal-50); }
.primary-button { border:1px solid var(--teal-700); background:var(--teal-700); color:white; }
.primary-button:hover { background:var(--teal-800); }
.toolbar { display:flex; gap:8px; }

.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:16px; }
.comparison-table { width:100%; border-collapse:collapse; min-width: 920px; }
.comparison-table th { padding:13px 15px; background:#f5f8f8; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; text-align:left; }
.comparison-table td { padding:17px 15px; border-bottom:1px solid #e8eeee; font-size:13px; vertical-align:middle; }
.comparison-table tbody tr:last-child td { border-bottom:0; }
.comparison-table tbody tr:hover td { background:#fbfdfd; }
.comparison-table th.num, .comparison-table td.num { text-align:right; white-space:nowrap; }
.comparison-table .primary-col { background:#edf7f7; }
.comparison-table td.primary-col { color:var(--teal-800); font-size:15px; font-weight:800; }
.variant-name { display:block; font-weight:800; font-size:14px; }
.variant-sub { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.status { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:800; white-space:nowrap; }
.status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.status-ok { color:var(--green); background:var(--green-bg); }
.status-warn { color:var(--amber); background:var(--amber-bg); }
.status-no { color:var(--red); background:var(--red-bg); }
.table-note { margin:12px 2px 0; color:var(--muted); font-size:11px; }

.details-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.detail-card { border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:#fff; }
.detail-card.featured { border-color:#b8d7d8; box-shadow:0 12px 30px rgba(19,84,90,.08); }
.detail-top { display:flex; justify-content:space-between; gap:16px; padding:20px; background:#f9fbfb; border-bottom:1px solid var(--line); }
.detail-card.featured .detail-top { background:linear-gradient(135deg, var(--teal-50), #f9fcfc); }
.detail-title h3 { margin:0; font-size:17px; letter-spacing:-.02em; }
.detail-title p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.4; }
.detail-rate { text-align:right; white-space:nowrap; }
.detail-rate span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.detail-rate strong { display:block; margin-top:3px; color:var(--teal-800); font-size:20px; }
.breakdown { padding:12px 20px 18px; }
.break-row { display:flex; justify-content:space-between; gap:20px; padding:9px 0; border-bottom:1px dashed #e3eaea; font-size:12px; }
.break-row:last-child { border-bottom:0; }
.break-row span { color:var(--ink-soft); }
.break-row strong { white-space:nowrap; }
.break-row.total { margin-top:3px; padding-top:12px; border-top:1px solid var(--line); border-bottom:0; font-size:13px; }
.break-row.total span, .break-row.total strong { color:var(--ink); font-weight:800; }
.detail-note { margin:0 20px 20px; padding:11px 12px; background:#f4f8f8; border-radius:10px; color:var(--muted); font-size:11px; line-height:1.45; }
.detail-note.warn { background:var(--amber-bg); color:#79520f; }
.detail-note.no { background:var(--red-bg); color:#8e3b35; }

.limit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.limit-card { padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fbfcfc; }
.limit-code { display:inline-block; margin-bottom:11px; color:var(--teal-700); font-size:10px; font-weight:850; letter-spacing:.12em; }
.limit-card strong { display:block; font-size:19px; }
.limit-card p { margin:8px 0 0; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.limit-card small { display:block; margin-top:10px; color:var(--muted); font-size:10px; line-height:1.45; }

.method-section { box-shadow:none; }
.method-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:20px; }
.method-grid div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 13px; border-radius:10px; background:#f5f8f8; }
.method-grid span { font-size:10px; color:var(--muted); }
.method-grid strong { font-size:13px; }
.legal-note { margin:18px 0 0; padding-top:15px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; line-height:1.55; }
.sources { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:12px; font-size:10px; color:var(--muted); }
.sources span { font-weight:800; color:var(--ink-soft); }
.sources a { color:var(--teal-700); text-decoration:none; border-bottom:1px solid rgba(22,112,120,.25); }
.sources a:hover { border-color:var(--teal-700); }

footer { max-width:1240px; margin:0 auto; padding:0 28px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:10px; }
.footer-separator { margin:0 8px; color:#aebfc1; }
.footer-brand { display:flex; align-items:center; gap:8px; text-decoration:none; }
.footer-brand img { display:block; height:24px; width:auto; max-width:110px; }
.toast { position:fixed; left:50%; bottom:24px; z-index:30; transform:translate(-50%, 20px); opacity:0; pointer-events:none; padding:10px 14px; border-radius:10px; background:var(--teal-950); color:white; font-size:12px; box-shadow:0 12px 30px rgba(0,0,0,.22); transition:.2s ease; }
.toast.show { opacity:1; transform:translate(-50%,0); }

@media (max-width: 1000px) {
  .input-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .limit-grid { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .hero-inner { padding:24px 18px 46px; }
  .hero-copy { margin-top:34px; align-items:flex-start; }
  .hero-badge { display:none; }
  main { padding:0 12px 45px; }
  .calculator-card, .results-section, .details-section, .limits-section, .method-section { border-radius:18px; padding:19px; }
  .input-grid, .details-grid { grid-template-columns:1fr; }
  .options-row { grid-template-columns:1fr; }
  .switch-card, .summary-input { min-width:0; width:100%; }
  .section-head.results-head { flex-direction:column; }
  .toolbar { width:100%; }
  .toolbar button { flex:1; }
  footer { padding:0 16px 24px; flex-direction:column; align-items:flex-start; }
}
@media (max-width: 520px) {
  .method-grid { grid-template-columns:1fr; }
  .section-head { align-items:center; }
  h2 { font-size:22px; }
  .hero-copy p { font-size:15px; }
}

/* v0.2 - clearer customer-facing comparison */
.comparison-table { min-width: 1120px; }
.comparison-table td.reserve-col small { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.comparison-table td.alt-col { font-weight:750; color:var(--ink-soft); }
.muted-cell { color:var(--muted); font-weight:500; }
.break-row.highlight { margin:4px 0 2px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.break-row.highlight span { font-weight:800; color:var(--ink); }
.break-row.highlight strong { color:var(--teal-800); font-size:15px; }
.break-row.reserve strong { color:var(--green); }
.break-row.alternative { background:#f8fbfb; margin:0 -8px; padding-left:8px; padding-right:8px; }
.break-row.alternative strong { color:var(--teal-700); }


/* v0.4 - downloadable PDF, clean footer and Rozik Portal promo */
footer { max-width:1240px; margin:0 auto; padding:0 28px 34px; display:block; color:var(--muted); font-size:10px; }
.footer-row { padding-top:18px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-meta { display:flex; align-items:center; flex-wrap:wrap; }
.footer-separator { margin:0 8px; color:#aebfc1; }
.footer-brand { display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--muted); }
.footer-brand img { display:block; height:24px; width:auto; max-width:110px; }
.portal-promo { margin-top:18px; padding:22px 26px; border-radius:18px; border:1px solid rgba(16,185,129,.25); border-top:4px solid #10b981; background:linear-gradient(135deg,#0b2a22,#102c27 68%,#113832); color:white; text-decoration:none; display:flex; align-items:center; justify-content:space-between; gap:28px; box-shadow:0 16px 36px rgba(8,41,35,.10); transition:transform .16s ease, box-shadow .16s ease; }
.portal-promo:hover { transform:translateY(-2px); box-shadow:0 20px 42px rgba(8,41,35,.14); }
.portal-promo-copy { min-width:0; }
.portal-promo-kicker { display:block; margin-bottom:4px; color:#4adea7; font-weight:850; font-size:17px; }
.portal-promo-copy strong { display:block; font-size:14px; color:#fff; }
.portal-promo-copy p { max-width:820px; margin:6px 0 0; color:rgba(255,255,255,.72); font-size:11px; line-height:1.55; }
.portal-promo-cta { flex:0 0 auto; display:flex; align-items:center; gap:13px; min-width:210px; padding:10px 10px 10px 16px; border-radius:14px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); color:white; transition:background .16s ease, border-color .16s ease, transform .16s ease; }
.portal-promo-cta-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.portal-promo-cta-copy strong { color:#fff; font-size:12px; line-height:1.15; white-space:nowrap; }
.portal-promo-cta-copy small { color:rgba(255,255,255,.58); font-size:9px; letter-spacing:.02em; }
.portal-promo-arrow { display:grid; place-items:center; width:34px; height:34px; margin-left:auto; border-radius:11px; background:#19b887; color:#06231d; font-size:18px; font-weight:900; line-height:1; box-shadow:0 8px 20px rgba(16,185,129,.18); }
.portal-promo:hover .portal-promo-cta { background:rgba(255,255,255,.1); border-color:rgba(74,222,167,.34); transform:translateX(2px); }
.portal-promo:hover .portal-promo-arrow { background:#4adea7; }
@media (max-width:760px) {
  footer { padding:0 16px 28px; }
  .footer-row { align-items:flex-start; flex-direction:column; gap:10px; }
  .portal-promo { align-items:flex-start; flex-direction:column; gap:14px; padding:20px; }
}
@media print {
  @page { size:A4 landscape; margin:9mm 9mm 10mm; }
  * { -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  html, body { background:#fff !important; }
  body { color:var(--ink); font-size:10px; }
  .page-shell { min-height:0; }
  .hero { color:white; background:linear-gradient(135deg,var(--teal-950),var(--teal-900) 58%,#0b3438) !important; border:0; border-radius:0 0 18px 18px; break-inside:avoid; }
  .hero-inner { max-width:none; padding:11mm 10mm 9mm; }
  .brandmark { width:32px; height:32px; box-shadow:none; }
  .brandmark img { width:21px; height:21px; }
  .eyebrow { color:rgba(255,255,255,.7); font-size:9px; }
  .hero-copy { margin-top:7mm; align-items:flex-end; }
  .hero-copy h1 { font-size:34px; line-height:1; }
  .hero-copy p { max-width:670px; margin-top:9px; color:rgba(255,255,255,.78); font-size:10.5px; line-height:1.45; }
  .hero-badge { min-width:92px; padding:10px 12px; border-radius:12px; }
  main { max-width:none; margin:0; padding:5mm 10mm 0; }
  .calculator-card, .limits-section, .method-section { display:none !important; }
  .results-section, .details-section { margin-top:4mm; padding:5mm; border-radius:12px; box-shadow:none; border:1px solid var(--line); }
  .results-section { break-inside:avoid; }
  .details-section { break-before:page; page-break-before:always; margin-top:0; }
  .toolbar { display:none !important; }
  .table-wrap { overflow:visible; }
  .comparison-table { min-width:0; width:100%; font-size:8.4px; }
  .comparison-table th { padding:2.4mm 2mm; font-size:7px; white-space:normal; }
  .comparison-table td { padding:2.6mm 2mm; }
  .details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3mm; align-items:start; }
  .detail-card { break-inside:avoid; page-break-inside:avoid; box-shadow:none; min-width:0; }
  .detail-top { padding:3.5mm; }
  .detail-rate { max-width:35%; }
  .detail-rate strong { font-size:16px; }
  .breakdown { padding:0 3.5mm 2.5mm; }
  .break-row { padding:1.35mm 0; font-size:7.5px; gap:2mm; }
  .break-row span { min-width:0; }
  .break-row strong { flex:0 0 auto; }
  .detail-note { font-size:7px; }
  footer { max-width:none; padding:0 10mm 4mm; break-inside:avoid; page-break-inside:avoid; }
  .footer-row { padding-top:3mm; font-size:7.5px; }
  .footer-brand img { height:18px; max-width:82px; }
  .portal-promo { margin-top:3mm; padding:3.5mm 5mm; border-radius:9px; box-shadow:none; gap:6mm; break-inside:avoid; page-break-inside:avoid; }
  .portal-promo-kicker { font-size:11px; }
  .portal-promo-copy strong { font-size:8.5px; }
  .portal-promo-copy p { margin-top:1mm; font-size:7px; line-height:1.35; }
  .portal-promo-cta { min-width:42mm; padding:1.7mm 1.7mm 1.7mm 2.5mm; gap:2mm; border-radius:7px; }
  .portal-promo-cta-copy strong { font-size:7.2px; }
  .portal-promo-cta-copy small { font-size:5.8px; }
  .portal-promo-arrow { width:7mm; height:7mm; border-radius:6px; font-size:11px; box-shadow:none; }
}

/* v0.17 - print the full explanatory appendix and keep page groups together */
@media print {
  .details-section {
    display: block !important;
    break-before: page !important;
    page-break-before: always !important;
  }
  .details-section .section-head,
  .details-grid {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .limits-section {
    display: block !important;
    break-before: page !important;
    page-break-before: always !important;
    margin-top: 0 !important;
  }
  .method-section {
    display: block !important;
    margin-top: 4mm !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .limit-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 3mm !important; }
  .limit-card { padding: 3mm !important; }
  .limit-card strong { font-size: 12px !important; }
  .limit-card p { margin-top: 1.2mm !important; font-size: 7.4px !important; line-height: 1.35 !important; }
  .limit-card small { margin-top: 1.2mm !important; font-size: 6.5px !important; line-height: 1.3 !important; }
  .method-grid { margin-top: 3mm !important; gap: 2mm !important; }
  .method-grid div { padding: 2.2mm 2.5mm !important; }
  .legal-note { margin-top: 3mm !important; padding-top: 2.5mm !important; }
  .sources { margin-top: 2mm !important; }
}

/* v0.26.3 - primary net rate and total share one restrained highlight style. */
.options-row { grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(300px,1.15fr); }
.switch-card { background:#fbfcfc; border-color:#dbe5e6; padding:12px 14px; gap:16px; }
.switch-card strong { font-size:12px; font-weight:720; color:var(--ink-soft); }
.switch-card small { font-size:10px; line-height:1.4; color:#87999c; }
.switch { flex-basis:40px; width:40px; height:23px; background:#d7e0e1; }
.switch::after { width:17px; height:17px; top:3px; left:3px; }
.switch-card input:checked + .switch::after { transform:translateX(17px); }
.summary-input { padding:13px 17px; background:linear-gradient(180deg, var(--teal-50), #fbfdfd); border:1px solid #bddcdc; color:var(--ink); box-shadow:inset 0 0 0 1px rgba(22,112,120,.05); }
.summary-input span { font-size:11px; color:var(--ink-soft); font-weight:700; }
.summary-input strong { font-size:21px; color:var(--teal-900); }
.field-primary { box-shadow:inset 0 0 0 1px rgba(22,112,120,.05); }

/* v0.26.4 - keep option cards usable on phones. Must stay after desktop overrides. */
@media (max-width: 760px) {
  .options-row {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }
  .switch-card,
  .summary-input {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  .switch-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    column-gap: 14px;
    padding: 13px 14px;
  }
  .switch-card > span:first-child { min-width: 0; }
  .switch-card strong,
  .switch-card small { overflow-wrap: anywhere; }
  .switch { flex: none; justify-self: end; }
  .summary-input {
    min-height: 64px;
    gap: 12px;
    padding: 13px 14px;
  }
  .summary-input span { max-width: 58%; line-height: 1.35; }
  .summary-input strong { white-space: nowrap; }
}
@media (max-width: 420px) {
  .switch-card { column-gap: 10px; }
  .summary-input strong { font-size: 19px; }
}
