/* Employer cost calculator (1.8.17). Shared components come from jdg-porownanie.css / zus-skladki.css / main.css. */
.kp-calc { --gap: 16px; }
.kp-calc [hidden] { display: none !important; }
.kp-calc__grid,
.kp-calc .uop-calc__grid { align-items: start; }
.kp-subhead {
  margin: 18px 0 8px;
  padding-top: 14px;
  border-top: 1px dashed #cbd5e1;
  font-size: .92rem;
  color: #0f172a;
}
.kp-indent { margin-left: 2px; }

.kp-h3 { margin: 20px 0 8px; font-size: .98rem; color: #0f172a; }

.kp-hero-markup {
  margin: 2px 0 0;
  font-size: .82rem;
  font-weight: 600;
  color: #047857;
}

/* Employer contribution table */
.kp-calc .kp-table { table-layout: auto; font-size: .88rem; min-width: 0; }
.kp-calc .kp-table th,
.kp-calc .kp-table td {
  width: auto;
  padding: 9px 10px;
  text-align: right;
  white-space: nowrap;
  overflow-wrap: normal;
  font-variant-numeric: tabular-nums;
}
.kp-calc .kp-table th:first-child,
.kp-calc .kp-table td:first-child { text-align: left; white-space: normal; }
.kp-calc .kp-table thead th { font-size: .7rem; white-space: normal; vertical-align: bottom; }
.kp-calc .kp-table tbody th { font-weight: 600; background: #f8fafc; }
.kp-calc .kp-table__total th,
.kp-calc .kp-table__total td { font-weight: 800; border-top: 2px solid #cbd5e1; }
.kp-calc .kp-table .kp-months__cap th,
.kp-calc .kp-table .kp-months__cap td { background: #fefce8; font-weight: 700; }

/* Structure bar (pure CSS, no Chart.js) */
.kp-bar {
  display: flex;
  height: 16px;
  margin: 10px 0 8px;
  border-radius: 999px;
  overflow: hidden;
  background: #e2e8f0;
}
.kp-bar__seg { display: block; height: 100%; width: 0; transition: width .2s ease; }
.kp-bar__seg--net { background: #059669; }
.kp-bar__seg--ded { background: #d97706; }
.kp-bar__seg--er { background: #2563eb; }
.kp-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 0 0 6px;
  padding: 0;
  list-style: none;
  font-size: .78rem;
  color: #475569;
}
.kp-legend li { display: flex; align-items: center; gap: 6px; }
.kp-dot { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.kp-dot--net { background: #059669; }
.kp-dot--ded { background: #d97706; }
.kp-dot--er { background: #2563eb; }

.kp-cpn { margin: 8px 2px 0; font-size: .85rem; color: #334155; font-weight: 600; }
.kp-cap-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  font-size: .85rem;
  line-height: 1.5;
}

/* no salary yet: only the hero card with a prompt */
.kp-calc.is-empty .kp-results > :not(.zus-hero-card) { display: none !important; }

@media (max-width: 480px) {
  .kp-calc .kp-table th,
  .kp-calc .kp-table td { padding: 7px 6px; font-size: .78rem; }
  .kp-calc .kp-table thead th { font-size: .62rem; letter-spacing: 0; }
  .kp-calc .kp-table th:first-child { min-width: 96px; }
  .kp-calc .zus-hero-card__value { font-size: 1.7rem; }
  .kp-legend { font-size: .72rem; gap: 4px 10px; }
}
