.sp-tool { margin-top: 24px; }
.article .sp-tool h2 { margin-top: 0; }
.sp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sp-grid > div { min-width: 0; }
.sp-grid > [hidden], .sp-tool [hidden] { display: none; }
.sp-grid input[readonly] { background: var(--surface-2); color: var(--ink-soft); }
.sp-page #calculator, .sp-page [id="52-week-plan"] { scroll-margin-top: 88px; }
.sp-grid input, .sp-grid select { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
.sp-grid label { display: block; margin: 0 0 6px; font-weight: 600; }
.sp-help { font-size: 14px; line-height: 1.55; }
.sp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.sp-actions button { min-height: 48px; white-space: normal; }
.sp-actions button:disabled { opacity: .5; cursor: not-allowed; }
.sp-message { color: #923d20; margin-top: 16px; }
.sp-message:empty { display: none; }
.sp-result { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.sp-result[hidden] { display: none; }
.sp-result p { overflow-wrap: anywhere; }
.sp-result table { table-layout: fixed; font-variant-numeric: tabular-nums; }
.sp-result th, .sp-result td { overflow-wrap: anywhere; }
.sp-result caption { text-align: left; font-weight: 600; color: var(--ink); }
.sp-print-title, .sp-print-empty { display: none; }
@media (max-width: 540px) {
  .sp-grid { grid-template-columns: minmax(0, 1fr); }
  .sp-actions button { flex: 1 1 100%; }
  .sp-result th, .sp-result td { padding: 9px 5px; font-size: 13px; }
}
@media print {
  body.sp-page { background: #fff; color: #000; }
  .sp-page .site-head, .sp-page .site-foot, .sp-page .sp-intro, .sp-page .sp-explainer,
  .sp-page #sp-form, .sp-page .sp-actions, .sp-page .sp-message, .sp-page #sp-handoff-note,
  .sp-page .sp-tool > h2, .sp-page .sp-tool > .sp-help { display: none !important; }
  .sp-page .article { width: 100%; max-width: none; padding: 0; }
  .sp-page .sp-tool { border: 0; box-shadow: none; padding: 0; margin: 0; }
  .sp-page .sp-result { border: 0; margin: 0; padding: 0; }
  .sp-page .sp-print-title { display: block; }
  .sp-page .sp-result[hidden] + .sp-print-empty { display: block; }
  .sp-page iframe, .sp-page ins.adsbygoogle { display: none !important; }
  .sp-page .sp-result tr { break-inside: avoid; }
  .sp-page .sp-result thead { display: table-header-group; }
  .sp-page .sp-result th, .sp-page .sp-result td { padding: 5px; font-size: 10pt; color: #000; }
}
.sp-language { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 8px; padding-bottom: 8px; font-size: 14px; }
.sp-language a[aria-current="page"] { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.sp-page .sp-grid label, .sp-page .sp-help { overflow-wrap: anywhere; }
@media print {
  .sp-page .sp-blank-link { display: none !important; }
}
