.sbtrc-calculator {
  --sbtrc-navy: #102a43;
  --sbtrc-blue: #1f5f8b;
  --sbtrc-green: #13795b;
  --sbtrc-red: #b42318;
  --sbtrc-ink: #243b53;
  --sbtrc-muted: #627d98;
  --sbtrc-line: #d9e2ec;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  overflow: hidden;
  color: var(--sbtrc-ink);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(16, 42, 67, .14);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.45;
  box-sizing: border-box;
}

.sbtrc-calculator *, .sbtrc-calculator *::before, .sbtrc-calculator *::after { box-sizing: border-box; }
.sbtrc-header { padding: clamp(20px, 5vw, 30px); color: #fff; background: linear-gradient(120deg, var(--sbtrc-navy), var(--sbtrc-blue)); }
.sbtrc-header h2 { margin: 0 0 7px; color: #fff; font-size: clamp(1.45rem, 5vw, 2rem); line-height: 1.15; letter-spacing: -.025em; }
.sbtrc-header p { margin: 0; color: #d9ebf7; font-size: .94rem; }
.sbtrc-body { width: 100%; }
.sbtrc-controls { display: grid; grid-template-columns: 1fr; gap: 18px; padding: 22px 16px; background: #fbfdff; border-bottom: 1px solid var(--sbtrc-line); }
.sbtrc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sbtrc-field label, .sbtrc-label { color: var(--sbtrc-navy); font-size: .9rem; font-weight: 700; }
.sbtrc-input-wrap { position: relative; min-width: 0; }
.sbtrc-currency-mark { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); color: var(--sbtrc-muted); font-weight: 700; pointer-events: none; }
.sbtrc-calculator input[type="number"] { display: block; width: 100%; min-height: 52px; margin: 0; padding: 10px 14px 10px 30px; border: 2px solid #e2b43f; border-radius: 10px; outline: none; background: #fff6cc; color: var(--sbtrc-navy); font: inherit; font-size: 1.05rem; font-weight: 700; }
.sbtrc-calculator input[type="number"]:focus { border-color: var(--sbtrc-blue); box-shadow: 0 0 0 4px rgba(31, 95, 139, .13); }
.sbtrc-readout { display: flex; align-items: center; width: 100%; min-height: 52px; padding: 10px 14px; border: 1px solid var(--sbtrc-line); border-radius: 10px; background: #f6f9fb; color: var(--sbtrc-navy); font-weight: 800; }
.sbtrc-switch-row { display: flex; align-items: center; gap: 12px; min-height: 46px; }
.sbtrc-switch { position: relative; width: 52px; height: 30px; flex: 0 0 auto; }
.sbtrc-switch input { position: absolute; opacity: 0; }
.sbtrc-slider { position: absolute; inset: 0; border-radius: 99px; background: #bcccdc; cursor: pointer; transition: .2s; }
.sbtrc-slider::before { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); transition: .2s; }
.sbtrc-switch input:checked + .sbtrc-slider { background: var(--sbtrc-green); }
.sbtrc-switch input:focus-visible + .sbtrc-slider { outline: 3px solid rgba(31, 95, 139, .3); outline-offset: 2px; }
.sbtrc-switch input:checked + .sbtrc-slider::before { transform: translateX(22px); }
.sbtrc-status { font-weight: 750; }
.sbtrc-error { display: none; color: var(--sbtrc-red); font-size: .82rem; font-weight: 650; }
.sbtrc-results { padding: 22px 16px 10px; }
.sbtrc-results-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 14px; }
.sbtrc-results-heading h3 { margin: 0; color: var(--sbtrc-navy); font-size: 1.15rem; line-height: 1.25; }
.sbtrc-results-heading span { color: var(--sbtrc-muted); font-size: .83rem; }
.sbtrc-cards { display: grid; gap: 14px; }
.sbtrc-card { overflow: hidden; border: 1px solid var(--sbtrc-line); border-radius: 13px; background: #fff; box-shadow: 0 5px 16px rgba(16, 42, 67, .07); }
.sbtrc-card h4 { margin: 0; padding: 13px; background: var(--sbtrc-navy); color: #fff; font-size: 1rem; line-height: 1.3; }
.sbtrc-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 44px; padding: 10px 13px; border-top: 1px solid #e8eef3; }
.sbtrc-row-label { max-width: 60%; color: var(--sbtrc-muted); font-size: .79rem; font-weight: 700; line-height: 1.25; }
.sbtrc-row-value { color: var(--sbtrc-ink); font-variant-numeric: tabular-nums; font-weight: 650; text-align: right; }
.sbtrc-row-highlight { background: #edf8f3; }
.sbtrc-row-highlight .sbtrc-row-value { color: #0d684d; font-weight: 800; }
.sbtrc-row-increase .sbtrc-row-value { color: var(--sbtrc-red); font-weight: 800; }
.sbtrc-notes { padding: 16px 16px 22px; overflow-wrap: anywhere; color: var(--sbtrc-muted); font-size: .84rem; }
.sbtrc-notes p { margin: 4px 0; }
.sbtrc-actions { display: flex; gap: 10px; padding: 0 16px 24px; }
.sbtrc-button { flex: 1; min-height: 48px; margin: 0; padding: 10px 16px; border: 0; border-radius: 9px; cursor: pointer; font: inherit; font-weight: 750; }
.sbtrc-reset { background: #e8eff4; color: var(--sbtrc-navy); }
.sbtrc-print { background: var(--sbtrc-blue); color: #fff; }
.sbtrc-button:hover { filter: brightness(.96); }
.sbtrc-button:focus-visible { outline: 3px solid rgba(31, 95, 139, .3); outline-offset: 2px; }

@media (max-width: 420px) {
  .sbtrc-calculator { border-radius: 0; box-shadow: none; }
  .sbtrc-header h2 { font-size: 1.42rem; }
  .sbtrc-row { gap: 10px; padding-left: 11px; padding-right: 11px; }
  .sbtrc-actions { flex-direction: column; }
}

@media print {
  .sbtrc-calculator { max-width: none; border-radius: 0; box-shadow: none; }
  .sbtrc-actions { display: none; }
  .sbtrc-card { break-inside: avoid; box-shadow: none; }
}

