.ztool-salary .answer-lead { max-width: 72ch; margin-bottom: var(--sp-8); font-size: 1.15rem; }
.ztool-salary-tabs { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-block: var(--sp-4); }
.ztool-salary-tabs [aria-selected="true"] { background: var(--ink); color: var(--mist-0); }
.ztool-salary-panel { padding: clamp(18px, 3vw, 36px); border: 1px solid var(--line); background: var(--mist-1); margin-top: var(--sp-3); }
.ztool-salary-panel h3 { margin-bottom: var(--sp-3); }
.ztool-salary-panel p, .ztool-salary-method p { margin-block: var(--sp-3); }
.ztool-salary-grid, .ztool-salary-method { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
.ztool-salary-grid > * { min-width: 0; }
.ztool-salary label { display: block; margin-bottom: .5rem; color: var(--ink); font-weight: 500; }
.ztool-salary input { display: block; width: 100%; min-width: 0; min-height: 48px; padding: .75rem; font-size: 1rem; }
.ztool-salary fieldset { min-width: 0; padding: var(--sp-3); border: 1px solid var(--line); margin-block: var(--sp-4); }
.ztool-salary legend { padding-inline: .5rem; color: var(--ink); }
.ztool-salary-error { color: var(--amber-ink); font-weight: 500; }
.ztool-salary [aria-invalid="true"] { border-color: var(--amber-ink); }
.ztool-salary-results { margin-top: var(--sp-5); border-top: 1px solid var(--line); padding-top: var(--sp-4); }
.ztool-salary-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.ztool-salary-metrics > div { min-width: 0; padding-block: var(--sp-3); border-top: 1px solid var(--line); }
.ztool-salary-metrics dt { font-size: var(--fs-small); }
.ztool-salary-metrics dd { color: var(--ink); font: 500 clamp(1.3rem, 3vw, 2.4rem)/1.3 var(--sans); margin: .5rem 0 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ztool-salary-table-wrap { max-width: 100%; overflow-x: auto; margin-top: var(--sp-5); }
.ztool-salary-table { width: 100%; min-width: 620px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ztool-salary-table caption { text-align: left; padding-bottom: var(--sp-2); color: var(--ink); font-weight: 500; }
.ztool-salary-table th, .ztool-salary-table td { text-align: left; padding: 1rem; border-bottom: 1px solid var(--line); }
.ztool-salary-table thead { background: var(--mist-2); color: var(--ink); }
.ztool-salary-method a { text-decoration: underline; text-underline-offset: .2em; }
.ztool-salary-faq { max-width: 80ch; }
.ztool-salary-faq details { border-bottom: 1px solid var(--line); padding-block: var(--sp-2); }
.ztool-salary-faq summary { min-height: 44px; cursor: pointer; color: var(--ink); font-weight: 500; padding-block: .5rem; }
.ztool-salary-faq p { padding-block: var(--sp-2); }
.ztool-salary [hidden], .ztool-salary-tabs[hidden] { display: none; }
.ztool-salary :focus-visible { outline: 2px solid var(--amber); outline-offset: 4px; }
@media (max-width: 640px) {
  .ztool-salary-grid, .ztool-salary-method, .ztool-salary-metrics { grid-template-columns: minmax(0, 1fr); }
  .ztool-salary-tabs .btn { width: 100%; }
}
