/* Compound interest calculator (1.8.0). Shared components come from jdg-porownanie.css / zus-skladki.css / main.css. */
.ps-calc { --gap: 16px; }
.ps-calc [hidden] { display: none !important; }
.ps-calc__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(0, 1.55fr);
  gap: var(--gap);
}
@media (max-width: 900px) {
  .ps-calc__grid { grid-template-columns: minmax(0, 1fr); }
}
.ps-calc__grid > * { min-width: 0; }
.ps-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; }
.ps-calc fieldset.field { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.ps-calc fieldset.field legend { font-weight: 600; font-size: .88rem; margin-bottom: 4px; padding: 0; }
.ps-calc .ps-timing .check { margin: 4px 0; }
.ps-calc .check input { margin-top: 3px; }
.ps-hint { margin: -4px 0 10px 26px; }
.ps-infl { margin: 4px 0 8px 26px; }
.ps-calc .zus-hero-card__label { text-transform: none; letter-spacing: 0; font-size: .85rem; }
.ps-summary { margin: 12px 2px 0; font-size: .86rem; line-height: 1.5; color: #334155; }
.ps-real span:first-child { white-space: normal; }
.ps-table-title { margin: 18px 0 8px; font-size: .95rem; color: #0f172a; }
.ps-table-wrap { max-height: 560px; overflow: auto; margin-bottom: 8px; }
.ps-calc .ps-table { table-layout: auto; font-size: .84rem; min-width: 0; }
.ps-calc .ps-table caption { caption-side: top; padding: 10px 14px; text-align: left; font-size: .8rem; color: var(--muted, #64748b); border-bottom: 1px solid var(--border, #e2e8f0); }
.ps-calc .ps-table th,
.ps-calc .ps-table td { width: auto; padding: 8px 10px; text-align: right; white-space: nowrap; overflow-wrap: normal; }
.ps-calc .ps-table th:first-child,
.ps-calc .ps-table td:first-child { width: auto; text-align: left; }
.ps-calc .ps-table thead th { font-size: .68rem; z-index: 1; }
.ps-calc .ps-table tbody th { font-weight: 700; background: #f1f5f9; }
.ps-calc .ps-table tbody tr:nth-child(even) th { background: #e2e8f0; }
.ps-note { margin: 4px 2px 0; }
@media (max-width: 480px) {
  .ps-calc .ps-table th,
  .ps-calc .ps-table td { padding: 7px 7px; font-size: .76rem; }
  .ps-calc .ps-table thead th { font-size: .6rem; letter-spacing: 0; }
  .ps-calc .zus-hero-card__value { font-size: 1.7rem; }
}
.ps-calc .field label.check { justify-content: flex-start; font-weight: 500; margin: 4px 0; }
.ps-check-row { display: flex; align-items: flex-start; gap: 4px; }
.ps-check-row .check { margin: 8px 0; }
.ps-check-row .tip { margin-top: 6px; }
