.pf-generic-calc {
  --pf-border: #d9e2ec;
  --pf-ink: #17202a;
  --pf-muted: #5d6d7e;
  --pf-accent: #1663c7;
  --pf-band: #f5f8fb;
  --pf-input: #fbfac4;
  --pf-output: #d4f3d9;
  --pf-inactive: #e8ebef;
  background: #fff;
  border: 1px solid var(--pf-border);
  border-radius: 8px;
  color: var(--pf-ink);
  max-width: 1100px;
  padding: 20px;
}

.pf-generic-calc * {
  box-sizing: border-box;
}

.pf-generic__header {
  border-bottom: 1px solid var(--pf-border);
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.pf-generic__header h2 {
  font-size: 26px;
  line-height: 1.2;
  margin: 0 0 6px;
}

.pf-generic__header p {
  color: var(--pf-muted);
  margin: 0;
}

.pf-generic__form {
  background: var(--pf-band);
  border: 1px solid var(--pf-border);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px;
}

.pf-generic--two-phase-separator .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--two-phase-density-viscosity {
  max-width: 760px;
}

.pf-generic--vpour-pressure {
  max-width: 760px;
}

.pf-generic--npsha {
  max-width: 760px;
}

.pf-generic--head-to-pressure {
  max-width: 980px;
}

.pf-generic--pressure-to-head {
  max-width: 980px;
}

.pf-generic--head-to-pressure .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--pressure-to-head .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--head-to-pressure .pf-generic__field--instruction,
.pf-generic--head-to-pressure .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--pressure-to-head .pf-generic__field--instruction,
.pf-generic--pressure-to-head .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--head-to-pressure .pf-generic__instruction {
  background: #eef4fb;
  border: 1px solid #c8d9ef;
  color: #1d4f85;
}

.pf-generic--pressure-to-head .pf-generic__instruction {
  background: #eef4fb;
  border: 1px solid #c8d9ef;
  color: #1d4f85;
}

.pf-pressure-to-head-result td:has(select) {
  grid-template-columns: minmax(0, 1fr) 120px;
}

.pf-generic--npshrequired {
  max-width: 1200px;
}

.pf-generic--npshrequired .pf-generic__form {
  align-items: start;
  gap: 14px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.pf-generic--npshrequired .pf-generic__field[data-field-name="fieldname14"] {
  grid-column: 1 / 5;
}

.pf-generic--npshrequired .pf-generic__field[data-field-name="fieldname36"] {
  grid-column: 5 / 9;
}

.pf-generic--npshrequired .pf-generic__field[data-field-name="fieldname2"] {
  grid-column: 9 / 13;
}

.pf-generic--npshrequired .pf-generic__field--instruction {
  grid-column: 1 / 10;
  margin-top: 2px;
}

.pf-generic--npshrequired .pf-generic__actions {
  align-items: start;
  grid-column: 10 / 13;
  justify-content: flex-end;
  margin-top: 2px;
}

.pf-generic--npshrequired .pf-generic__actions button {
  min-width: 220px;
}

.pf-generic--npshrequired .pf-generic__instruction {
  margin-top: 0;
}

.pf-generic--npshrequired .pf-generic__instruction p {
  column-count: 2;
  column-gap: 22px;
}

.pf-generic--compressor-fad-calc {
  max-width: 980px;
}

.pf-generic--cooling-tower-calc {
  max-width: 1100px;
}

.pf-generic--cooling-tower-calc .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--cooling-tower-calc .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--relief-fire-wetted,
.pf-generic--relief-fire-unwetted {
  max-width: 1100px;
}

.pf-generic--relief-fire-wetted .pf-generic__form,
.pf-generic--relief-fire-unwetted .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--surge-pressure-calc {
  max-width: 1360px;
}

.pf-generic--surge-pressure-calc .pf-generic__form {
  gap: 14px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--surge-pressure-calc .pf-generic__field--instruction,
.pf-generic--surge-pressure-calc .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--surge-pressure-calc .pf-generic__field {
  gap: 8px;
}

.pf-generic--surge-pressure-calc .pf-generic__field span:first-child {
  line-height: 1.35;
}

.pf-generic--surge-pressure-calc .pf-generic__results {
  grid-template-columns: 1fr;
}

.pf-generic--surge-pressure-calc .pf-surge-result {
  grid-column: 1 / -1;
}

.pf-generic--surge-pressure-calc .pf-generic__instruction {
  background: #edf5ff;
  border: 1px solid #c7d9f6;
  color: #154d85;
  margin: 0;
  padding: 12px 14px;
}

.pf-generic--surge-pressure-calc .pf-generic__instruction p {
  line-height: 1.55;
}

.pf-generic--surge-pressure-calc .pf-generic__actions {
  margin-top: 4px;
}

.pf-generic--surge-pressure-calc .pf-generic__actions button {
  min-height: 44px;
  min-width: 180px;
}

.pf-generic--surge-pressure-calc .pf-generic__hint {
  display: block;
  line-height: 1.45;
}

.pf-generic--psv-gas-phase {
  max-width: 1100px;
}

.pf-generic--flare-stack-dia-height {
  --pf-band: #f2f4f7;
  --pf-input: #ececbe;
  --pf-output: #c9e6cd;
  max-width: 1380px;
}

.pf-generic--flare-stack-dia-height .pf-generic__form {
  align-items: start;
  border-radius: 14px;
  gap: 14px 16px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 20px;
}

.pf-generic--flare-stack-dia-height .pf-generic__field {
  align-self: start;
  grid-column: span 4;
}

.pf-generic--flare-stack-dia-height .pf-generic__field span:first-child {
  font-size: 18px;
  font-weight: 780;
}

.pf-generic--flare-stack-dia-height .pf-generic__field input:not([type='radio']),
.pf-generic--flare-stack-dia-height .pf-generic__field select {
  border: 2px solid #b9c5d3;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  min-height: 54px;
}

.pf-generic--flare-stack-dia-height .pf-generic__field[data-field-name='fieldname57'],
.pf-generic--flare-stack-dia-height .pf-generic__field[data-field-name='fieldname14'],
.pf-generic--flare-stack-dia-height .pf-generic__field[data-field-name='fieldname55'] {
  grid-column: span 6;
}

.pf-generic--flare-stack-dia-height .pf-generic__field--instruction {
  grid-column: span 8;
  margin-top: 0;
}

.pf-generic--flare-stack-dia-height .pf-generic__instruction {
  background: #e7edf5;
  border: 1px solid #c8d4e3;
  border-radius: 12px;
  color: #145b92;
  margin: 0;
  padding: 14px 16px;
}

.pf-generic--flare-stack-dia-height .pf-generic__instruction strong {
  display: block;
  font-size: 20px;
  margin-bottom: 8px;
}

.pf-generic--flare-stack-dia-height .pf-generic__instruction ol {
  margin: 0;
  padding-left: 20px;
}

.pf-generic--flare-stack-dia-height .pf-generic__instruction li {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
}

.pf-generic--flare-stack-dia-height .pf-generic__actions {
  align-items: end;
  grid-column: span 4;
  justify-content: flex-end;
}

.pf-generic--flare-stack-dia-height .pf-generic__actions button {
  border-radius: 12px;
  font-size: 16px;
  font-weight: 800;
  min-height: 54px;
  min-width: 180px;
}

.pf-generic--flare-stack-dia-height .pf-generic__radio {
  background: #f0efbc;
  border: 2px solid #b9c5d3;
  border-radius: 10px;
  min-height: 54px;
  padding: 10px 12px;
}

.pf-generic--flare-stack-dia-height .pf-generic__helper {
  color: #145b92;
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-top: 6px;
}

.pf-generic--flare-ko-drum {
  --pf-band: #f3f5f9;
  --pf-input: #f2efbd;
  --pf-output: #cfead2;
  max-width: 1400px;
}

.pf-generic--flare-ko-drum .pf-generic__form {
  align-items: start;
  border-radius: 14px;
  gap: 14px 16px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 20px;
}

.pf-generic--flare-ko-drum .pf-generic__field {
  align-self: start;
  gap: 8px;
  grid-column: span 4;
}

.pf-generic--flare-ko-drum .pf-generic__field span:first-child {
  color: #1f2937;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0.1px;
}

.pf-generic--flare-ko-drum .pf-generic__field input:not([type='radio']),
.pf-generic--flare-ko-drum .pf-generic__field select {
  border: 2px solid #b5c4d4;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  min-height: 56px;
  padding: 10px 16px;
}

.pf-generic--flare-ko-drum .pf-generic__split {
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 40%;
}

.pf-generic--flare-ko-drum .pf-generic__radio {
  background: #f0eeb5;
  border: 2px solid #b5c4d4;
  border-radius: 12px;
  min-height: 56px;
  padding: 12px 14px;
}

.pf-generic--flare-ko-drum .pf-generic__radio-option {
  font-size: 17px;
  font-weight: 800;
  min-height: 30px;
}

.pf-generic--flare-ko-drum .pf-generic__field[data-field-name='fieldname44'] {
  grid-column: span 4;
}

.pf-generic--flare-ko-drum .pf-generic__field--instruction {
  grid-column: span 6;
  margin-top: 0;
}

.pf-generic--flare-ko-drum .pf-generic__instruction {
  background: #e6ebf3;
  border: 1px solid #cad5e3;
  border-radius: 12px;
  color: #1f5f9b;
  margin: 0;
  padding: 14px 16px;
}

.pf-generic--flare-ko-drum .pf-generic__instruction strong {
  font-size: 20px;
  margin-bottom: 8px;
}

.pf-generic--flare-ko-drum .pf-generic__instruction ol {
  margin: 0;
  padding-left: 20px;
}

.pf-generic--flare-ko-drum .pf-generic__instruction li {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 5px;
}

.pf-generic--flare-ko-drum .pf-generic__actions {
  align-items: end;
  grid-column: span 2;
  justify-content: flex-start;
}

.pf-generic--flare-ko-drum .pf-generic__actions button {
  border-radius: 14px;
  font-size: 16px;
  font-weight: 800;
  min-height: 56px;
  min-width: 180px;
  padding: 12px 22px;
}

.pf-two-phase-result--flare-ko-drum {
  border-radius: 14px;
  padding: 18px;
}

.pf-two-phase-result--flare-ko-drum h3 {
  font-size: 38px;
  margin-bottom: 12px;
}

.pf-two-phase-result--flare-ko-drum .pf-generic__result-note {
  color: #1f2937;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 14px;
}

.pf-two-phase-result--flare-ko-drum th {
  font-size: 16px;
  font-weight: 800;
}

.pf-two-phase-result--flare-ko-drum strong,
.pf-two-phase-result--flare-ko-drum select {
  border-radius: 12px;
  font-size: 16px;
  min-height: 46px;
}

.pf-generic--psv-gas-phase .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--psv-gas-phase .pf-generic__field--instruction,
.pf-generic--psv-gas-phase .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--relief-fire-wetted .pf-generic__field--instruction,
.pf-generic--relief-fire-wetted .pf-generic__actions,
.pf-generic--relief-fire-unwetted .pf-generic__field--instruction,
.pf-generic--relief-fire-unwetted .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-relief-fire-wetted-sketch {
  background: #f8fbff;
  border: 1px solid #cddbef;
  border-radius: 8px;
  padding: 8px;
}

.pf-relief-fire-wetted-sketch svg {
  display: block;
  height: auto;
  width: 100%;
}

.pf-relief-fire-wetted-sketch .pf-rfw-shell {
  fill: #ffffff;
  stroke: #1f4f82;
  stroke-width: 2;
}

.pf-relief-fire-wetted-sketch .pf-rfw-liquid {
  fill: #9fd0ff;
}

.pf-relief-fire-wetted-sketch .pf-rfw-grade {
  stroke: #5b6f85;
  stroke-dasharray: 5 4;
  stroke-width: 1.5;
}

.pf-relief-fire-wetted-sketch .pf-rfw-dim,
.pf-relief-fire-wetted-sketch .pf-rfw-elev {
  stroke: #1f4f82;
  stroke-width: 1.75;
  vector-effect: non-scaling-stroke;
}

.pf-relief-fire-wetted-sketch .pf-rfw-elev {
  stroke-dasharray: 4 3;
}

.pf-relief-fire-wetted-sketch .pf-rfw-label {
  fill: #284666;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.1px;
}

.pf-relief-fire-wetted-sketch .pf-rfw-dimtext {
  font-size: 10.5px;
  font-weight: 700;
}

.pf-relief-fire-wetted-sketch .pf-rfw-label-bg {
  fill: #f8fbff;
  opacity: 0.96;
  rx: 4;
  ry: 4;
}

.pf-relief-fire-wetted-sketch .pf-rfw-dim-arrow {
  marker-start: url(#pf-rfw-arrow-start);
  marker-end: url(#pf-rfw-arrow-end);
}

.pf-relief-fire-wetted-sketch .pf-rfw-dim-strong {
  stroke: #1f4f82;
  stroke-width: 2.5;
  opacity: 1;
}

.pf-relief-fire-wetted-sketch .pf-rfw-arrow-head {
  fill: #1f4f82;
}

.pf-generic--min-submerge {
  max-width: 760px;
}

.pf-generic--pipe-holdup {
  max-width: 760px;
}

.pf-generic--aet-calc {
  max-width: 760px;
}

.pf-generic--pump-efficiency {
  max-width: 430px;
  padding: 14px;
}

.pf-generic--flange-rating {
  max-width: 760px;
}

.pf-generic--two-phase-pressure-drop {
  max-width: 760px;
}

.pf-generic--gas-orifice {
  max-width: 760px;
}

.pf-generic--control-valve-gas {
  max-width: 1280px;
}

.pf-generic--pipe-heat-loss {
  max-width: 1120px;
}

.pf-generic--sat-steam-properties {
  max-width: 760px;
}

.pf-generic--fiv {
  max-width: 980px;
}

.pf-generic--fiv .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--fiv .pf-generic__field--instruction,
.pf-generic--fiv .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--emergency-vent {
  max-width: 1280px;
}

.pf-generic--emergency-vent .pf-generic__form {
  align-items: start;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px 16px;
}

.pf-generic--emergency-vent .pf-generic__field {
  align-content: start;
  grid-template-rows: auto auto auto;
  grid-column: span 4;
}

.pf-generic--emergency-vent .pf-generic__split {
  align-items: start;
}

.pf-generic--emergency-vent .pf-generic__field[data-field-name='fieldname123'],
.pf-generic--emergency-vent .pf-generic__field--instruction,
.pf-generic--emergency-vent .pf-generic__actions,
.pf-generic--emergency-vent .pf-emv-section {
  grid-column: 1 / -1;
}

.pf-generic--emergency-vent .pf-generic__field--instruction {
  margin-top: 2px;
}

.pf-generic--emergency-vent .pf-generic__field .pf-generic__hint {
  margin-top: 0;
  min-height: 32px;
}

.pf-generic--emergency-vent .pf-generic__field:not(:has(.pf-generic__hint))::after {
  content: '';
  display: block;
  min-height: 32px;
}

.pf-generic--emergency-vent .pf-generic__actions {
  justify-content: flex-end;
}

.pf-emv-section {
  border-top: 1px solid #cfd8e3;
  color: #0d5d97;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.1px;
  line-height: 1.2;
  margin-top: 4px;
  padding-top: 12px;
}

.pf-emv-section--hidden {
  display: none;
}

.pf-emv-results {
  display: grid;
  gap: 10px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pf-emv-results h3 {
  color: #0d5d97;
  font-size: 24px;
  grid-column: 1 / -1;
  margin: 0;
}

.pf-emv-result--conclusion {
  background: #dff5e4;
  border-color: #8fcea0;
  grid-column: 1 / -1;
}

.pf-emv-result--conclusion strong {
  font-size: 40px;
  line-height: 1.15;
}

@media (max-width: 1100px) {
  .pf-generic--emergency-vent .pf-generic__field {
    grid-column: span 6;
  }
  .pf-emv-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .pf-generic--control-valve-gas .pf-generic__form {
    grid-template-columns: 1fr;
  }
  .pf-generic--control-valve-gas .pf-generic__split {
    grid-template-columns: 1fr;
  }
  .pf-generic--control-valve-gas .pf-generic__actions button {
    width: 100%;
  }

  .pf-generic--emergency-vent .pf-generic__field {
    grid-column: 1 / -1;
  }
  .pf-generic--emergency-vent .pf-generic__actions {
    justify-content: stretch;
  }
  .pf-generic--emergency-vent .pf-generic__actions button {
    width: 100%;
  }
  .pf-emv-results {
    grid-template-columns: 1fr;
  }
  .pf-emv-result--conclusion strong {
    font-size: 30px;
  }
}

.pf-generic--steam-flashing {
  max-width: 680px;
}

.pf-generic--thermal-relief-valve {
  max-width: 760px;
}

.pf-generic--psycometric-chart {
  max-width: 1100px;
}

.pf-generic--pvrv {
  max-width: 760px;
  padding: 14px;
}

.pf-generic--rupture-disk {
  max-width: 980px;
}

.pf-generic--two-phase-density-viscosity .pf-generic__form,
.pf-generic--two-phase-density-viscosity .pf-generic__results,
.pf-generic--compressor-fad-calc .pf-generic__form,
.pf-generic--vpour-pressure .pf-generic__form,
.pf-generic--vpour-pressure .pf-generic__results,
.pf-generic--npsha .pf-generic__form,
.pf-generic--npsha .pf-generic__results,
.pf-generic--npshrequired .pf-generic__results,
.pf-generic--min-submerge .pf-generic__form,
.pf-generic--min-submerge .pf-generic__results,
.pf-generic--pipe-holdup .pf-generic__form,
.pf-generic--pipe-holdup .pf-generic__results,
.pf-generic--aet-calc .pf-generic__form,
.pf-generic--aet-calc .pf-generic__results,
.pf-generic--pump-efficiency .pf-generic__results,
.pf-generic--compressor-fad-calc .pf-generic__results,
.pf-generic--flange-rating .pf-generic__results,
.pf-generic--two-phase-pressure-drop .pf-generic__form,
.pf-generic--two-phase-pressure-drop .pf-generic__results,
.pf-generic--gas-orifice .pf-generic__results,
.pf-generic--sat-steam-properties .pf-generic__form,
.pf-generic--sat-steam-properties .pf-generic__results,
.pf-generic--steam-flashing .pf-generic__form,
.pf-generic--steam-flashing .pf-generic__results,
.pf-generic--thermal-relief-valve .pf-generic__form,
.pf-generic--thermal-relief-valve .pf-generic__results {
  grid-template-columns: 1fr;
}

.pf-generic--pvrv .pf-generic__results {
  grid-template-columns: 1fr;
}

.pf-generic--aet-calc .pf-generic__field--inactive {
  display: none;
}

.pf-aet-notes {
  background: #f3f4f6;
  border: 1px solid #d6dae1;
  border-radius: 6px;
  grid-column: 1 / -1;
  padding: 10px 12px;
}

.pf-aet-notes h3 {
  color: #334155;
  font-size: 17px;
  margin: 0 0 8px;
}

.pf-aet-notes p {
  color: #334155;
  font-size: 14px;
  line-height: 1.35;
  margin: 0 0 6px;
}

.pf-aet-notes p:last-child {
  margin-bottom: 0;
}

.pf-cooling-tower-terminology {
  background: #eef0f2;
  border: 1px solid #c9cdd2;
  border-radius: 8px;
  color: #344250;
  grid-column: 1 / -1;
  margin-top: 2px;
  padding: 10px 12px;
}

.pf-cooling-tower-terminology h3 {
  color: #384656;
  font-size: 20px;
  margin: 0 0 6px;
}

.pf-cooling-tower-terminology p {
  font-size: 16px;
  line-height: 1.4;
  margin: 0 0 4px;
}

.pf-cooling-tower-terminology p:last-child {
  margin-bottom: 0;
}

.pf-npshrequired-rpm-assist {
  align-items: center;
  background: #f2f6fc;
  border: 1px dashed #b9cbe3;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 8px;
  padding: 8px 10px;
}

.pf-npshrequired-rpm-assist__title {
  color: #244a7b;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.pf-npshrequired-rpm-assist label {
  color: #2f3b4a;
  display: inline-flex;
  font-size: 13px;
  gap: 5px;
}

.pf-npshrequired-rpm-assist__apply {
  background: #1663c7;
  border: 0;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
}

.pf-generic--npshrequired .pf-generic__hint {
  font-size: 11px;
}

.pf-generic--rupture-disk .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--rupture-disk .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--flange-rating .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--psycometric-chart .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--pump-efficiency .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--pump-efficiency .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--pump-efficiency .pf-pump-efficiency-live {
  background: #f0f0f0;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 5px;
  grid-template-columns: 1fr;
  padding: 0;
}

.pf-generic--steam-flashing .pf-generic__form {
  grid-template-columns: 1fr;
  max-width: 560px;
}

.pf-generic--steam-flashing .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--pump-efficiency .pf-generic__field {
  gap: 2px;
}

.pf-generic--pump-efficiency .pf-generic__field span:first-child {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}

.pf-generic--pump-efficiency .pf-generic__field input:not([type='radio']),
.pf-generic--pump-efficiency .pf-generic__field select {
  border-color: #c9c9a6;
  border-radius: 3px;
  font-size: 11px;
  min-height: 24px;
  padding: 3px 6px;
}

.pf-generic--pump-efficiency .pf-generic__split {
  gap: 2px;
  grid-template-columns: minmax(0, 1fr) 135px;
}

.pf-pump-efficiency-live__output input:not([type='radio']) {
  background: var(--pf-output) !important;
  border-color: #a7dfb0 !important;
  color: var(--pf-ink) !important;
  font-weight: 700;
}

.pf-pump-efficiency-live__message {
  color: #b91c1c;
  font-size: 12px;
  margin-top: 8px;
}

.pf-compressor-fad-equation {
  background: #f3f4f6;
  border: 1px solid #d6dae1;
  border-radius: 6px;
  margin-top: 12px;
  padding: 10px 12px;
}

.pf-compressor-fad-equation p {
  margin: 6px 0;
}

.pf-generic--flange-rating .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--gas-orifice .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--gas-orifice .pf-generic__radio {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;
}

.pf-generic--gas-orifice .pf-generic__field[data-field-name='fieldname83'],
.pf-generic--gas-orifice .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--control-valve-gas .pf-generic__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

.pf-generic--control-valve-gas .pf-generic__split {
  grid-template-columns: minmax(0, 1fr) 145px;
}

.pf-generic--control-valve-gas .pf-generic__field--inactive {
  display: none;
}

.pf-generic--control-valve-gas .pf-generic__field--instruction,
.pf-generic--control-valve-gas .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--control-valve-gas .pf-generic__instruction {
  background: #eef4fb;
  border: 1px solid #c9d9ee;
  border-radius: 10px;
  color: #26445f;
  margin-top: 0;
  padding: 12px 14px;
}

.pf-generic--control-valve-gas .pf-generic__instruction strong {
  color: #163852;
}

.pf-generic--control-valve-gas .pf-generic__instruction p {
  color: #1f5f93;
  line-height: 1.35;
}

.pf-generic--control-valve-gas .pf-generic__actions {
  justify-content: flex-start;
  margin-top: 2px;
}

.pf-generic--control-valve-gas .pf-generic__actions button {
  min-width: 220px;
}

.pf-generic--thermal-relief-valve .pf-generic__field--inactive {
  display: none;
}

.pf-generic--psycometric-chart .pf-generic__field[data-field-name='fieldname73'],
.pf-generic--psycometric-chart .pf-generic__field[data-field-name='fieldname100'],
.pf-generic--psycometric-chart .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--psycometric-chart .pf-generic__field[data-field-name='fieldname94'] {
  grid-column: 2;
}

.pf-generic--psycometric-chart .pf-generic__field--inactive {
  display: none;
}

.pf-generic--psycometric-chart .pf-generic__radio {
  justify-content: space-between;
}

.pf-generic--psycometric-chart .pf-generic__radio-option {
  width: min(50%, 240px);
}

.pf-pvrv-form {
  background: #fff;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 5px;
  grid-template-columns: 1fr;
  max-width: 560px;
  padding: 0;
}

.pf-pvrv__intro {
  color: #005b9f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  margin: 8px 0 6px;
}

.pf-pvrv__section {
  color: #005b9f;
  font-size: 18px;
  line-height: 1.2;
  margin: 4px 0 0;
}

.pf-generic--pvrv .pf-generic__field {
  gap: 2px;
}

.pf-generic--pvrv .pf-generic__field span:first-child {
  color: #334155;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
}

.pf-generic--pvrv .pf-generic__field input:not([type='radio']),
.pf-generic--pvrv .pf-generic__field select {
  border-color: #c9c9a6;
  border-radius: 3px;
  font-size: 12px;
  min-height: 29px;
  padding: 4px 7px;
}

.pf-generic--pvrv .pf-generic__split {
  gap: 0;
  grid-template-columns: minmax(0, 1fr) 160px;
}

.pf-generic--pvrv .pf-generic__radio {
  align-items: start;
  background: #f0f0f0;
  border: 0;
  border-radius: 4px;
  display: grid;
  gap: 3px;
  justify-items: start;
  min-height: 0;
  padding: 2px 4px 4px;
}

.pf-generic--pvrv .pf-generic__radio-option {
  color: #334155;
  font-size: 12px;
  font-weight: 400;
  gap: 2px;
  min-height: 16px;
}

.pf-generic--pvrv .pf-generic__radio-option input[type='radio'] {
  height: 11px;
  width: 11px;
}

.pf-generic--pvrv .pf-generic__field--inactive {
  display: none;
}

.pf-generic--pvrv .pf-generic__hint {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 2px;
}

.pf-generic--pvrv .pf-generic__actions {
  margin-top: 8px;
}

.pf-generic--pvrv .pf-generic__actions button {
  min-height: 34px;
  padding: 6px 14px;
}

.pf-pvrv-results-wrap {
  max-width: 680px;
}

.pf-pvrv-results {
  display: grid;
  gap: 5px;
}

.pf-pvrv-results__title,
.pf-pvrv-result h3,
.pf-pvrv-conclusions h3 {
  color: #005b9f;
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
}

.pf-pvrv-result {
  display: grid;
  gap: 3px;
}

.pf-pvrv-result h3:empty {
  display: none;
}

.pf-pvrv-result__grid {
  display: grid;
  gap: 5px 2px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-pvrv-result__item {
  display: grid;
  gap: 2px;
}

.pf-pvrv-result__item span {
  color: #334155;
  font-size: 13px;
  line-height: 1.2;
}

.pf-pvrv-result__item strong {
  align-items: center;
  background: var(--pf-output);
  border: 1px solid #a7dfb0;
  border-radius: 4px;
  color: var(--pf-ink);
  display: flex;
  font-size: 13px;
  font-weight: 400;
  min-height: 30px;
  padding: 5px 8px;
}

.pf-pvrv-conclusions {
  display: grid;
  gap: 3px;
}

.pf-pvrv-conclusions p {
  background: #f0f0f0;
  border-radius: 4px;
  color: #334155;
  font-size: 13px;
  line-height: 1.25;
  margin: 0;
  min-height: 24px;
  padding: 4px 8px;
}

.pf-generic--pump-power {
  max-width: 520px;
  padding: 16px;
}

.pf-generic--pump-power .pf-generic__form {
  background: #f0f0f0;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 5px;
  grid-template-columns: 1fr;
  padding: 0;
}

.pf-pump-power__formula {
  color: #005b9f;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  margin: 6px 0 8px;
}

.pf-generic--pump-power .pf-generic__field {
  gap: 2px;
}

.pf-generic--pump-power .pf-generic__field span:first-child {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}

.pf-generic--pump-power .pf-generic__field input:not([type='radio']),
.pf-generic--pump-power .pf-generic__field select {
  border-color: #c9c9a6;
  border-radius: 3px;
  font-size: 11px;
  min-height: 24px;
  padding: 3px 6px;
}

.pf-generic--pump-power .pf-generic__split {
  gap: 2px;
  grid-template-columns: minmax(0, 1fr) 158px;
}

.pf-generic--pump-power .pf-generic__radio {
  background: #f0f0f0;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 2px;
  justify-items: start;
  min-height: 0;
  padding: 0;
}

.pf-generic--pump-power .pf-generic__radio-option {
  font-size: 12px;
  font-weight: 400;
  gap: 2px;
  min-height: 14px;
}

.pf-generic--pump-power .pf-generic__radio-option input[type='radio'] {
  height: 11px;
  width: 11px;
}

.pf-generic--pump-power .pf-generic__field--inactive {
  display: none;
}

.pf-generic--pump-power .pf-generic__field[hidden] {
  display: none;
}

.pf-pump-power__output input:not([type='radio']) {
  background: var(--pf-output) !important;
  border-color: #a7dfb0 !important;
}

.pf-pump-power__message {
  color: #b91c1c;
  font-size: 12px;
  margin-top: 8px;
}

.pf-tppd-result table {
  border-collapse: separate;
  border-spacing: 0 6px;
}

.pf-tppd-result tbody {
  display: grid;
  gap: 0 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-tppd-result tr {
  display: grid;
  gap: 4px;
  grid-template-columns: minmax(0, 1fr);
}

.pf-tppd-result th {
  font-size: 12px;
  padding-bottom: 2px;
}

.pf-tppd-result td {
  display: grid;
  grid-template-columns: 1fr;
}

@media (max-width: 640px) {
  .pf-tppd-result tbody {
    grid-template-columns: 1fr;
  }
}

.pf-min-submerge-result__title {
  color: #334155;
  font-size: 12px;
  font-weight: 700;
  margin: 12px 0 8px;
}

.pf-min-submerge-result__table {
  border-collapse: collapse;
  width: 100%;
}

.pf-min-submerge-result__table th,
.pf-min-submerge-result__table td {
  border: 1px solid #1d4ed8;
  font-size: 12px;
  padding: 8px 6px;
  text-align: center;
}

.pf-min-submerge-result__table th {
  color: #334155;
  font-weight: 800;
}

.pf-min-submerge-result .pf-min-submerge-result__table {
  border-collapse: collapse;
  border-spacing: 0;
}

.pf-min-submerge-result .pf-min-submerge-result__table th,
.pf-min-submerge-result .pf-min-submerge-result__table td {
  display: table-cell;
  text-align: center;
}

.pf-generic--two-phase-density-viscosity .pf-generic__field--inactive {
  display: none;
}

.pf-generic--two-phase-density-viscosity .pf-generic__radio {
  background: #f0f0f0;
}

.pf-generic__field {
  display: grid;
  font-size: 13px;
  font-weight: 700;
  gap: 6px;
}

.pf-generic__field input:not([type='radio']),
.pf-generic__field select {
  background: var(--pf-input);
  border: 1px solid #b9c7d5;
  border-radius: 6px;
  color: var(--pf-ink);
  font: inherit;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  width: 100%;
}

.pf-generic__field input:not([type='radio']):disabled,
.pf-generic__field select:disabled {
  background: var(--pf-inactive);
  color: #6b7280;
  opacity: 1;
}

.pf-generic__field--inactive > span:first-child {
  color: #6b7280;
}

.pf-generic--vessel-surface-area-vol .pf-generic__field--inactive {
  display: none;
}

.pf-generic--vessel-surface-area-vol .pf-generic__form {
  align-items: end;
}

/* Keep number + unit pairs aligned on one baseline for this calculator */
.pf-generic--vessel-surface-area-vol .pf-generic__split {
  align-items: end;
  grid-template-columns: minmax(0, 1fr) 160px;
}

.pf-generic--vessel-surface-area-vol .pf-generic__split .pf-generic__field {
  margin: 0;
}

/* Keep the action button aligned with the input row instead of floating mid-row */
.pf-generic--vessel-surface-area-vol .pf-generic__actions {
  align-items: end;
  justify-content: flex-start;
  grid-column: 1 / -1;
  margin-top: 0;
}

.pf-generic--vessel-surface-area-vol .pf-generic-result__value-row {
  align-items: baseline;
  column-gap: 6px;
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: auto;
}

.pf-generic--vessel-surface-area-vol .pf-generic-result__unit {
  background: #e8f6ea;
  border: 1px solid #9ad2a4;
  border-radius: 999px;
  color: #22543d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  margin-left: 0;
  padding: 4px 8px;
  white-space: nowrap;
}

.pf-vessel-results {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .pf-generic--vessel-surface-area-vol .pf-generic__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .pf-generic--vessel-surface-area-vol .pf-generic__form {
    grid-template-columns: 1fr;
  }
  .pf-generic--vessel-surface-area-vol .pf-generic__split {
    grid-template-columns: 1fr;
  }
}

.pf-generic__field--paired {
  grid-column: auto;
}

.pf-generic__field--live-output input,
.pf-generic__field--live-output input:not([type='radio']) {
  background: var(--pf-output) !important;
  border-color: #a7dfb0 !important;
  color: var(--pf-ink) !important;
  font-weight: 800;
}

.pf-generic__field--live-output.pf-generic__field--inactive-output input,
.pf-generic__field--live-output.pf-generic__field--inactive-output input:not([type='radio']) {
  background: var(--pf-inactive) !important;
  border-color: #c9d1db !important;
  color: #6b7280 !important;
}

.pf-generic__field--live-output input:focus {
  outline: none;
}

.pf-generic--pipe-heat-loss .pf-generic__field--instruction {
  grid-column: 1 / -1;
}

.pf-generic--pipe-heat-loss .pf-generic__instruction {
  margin-top: 0;
}

.pf-generic--pipe-heat-loss .pf-generic__actions {
  align-items: end;
  justify-content: flex-start;
}

.pf-generic__split {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) minmax(110px, 140px);
  min-width: 0;
}

.pf-generic__radio {
  align-items: center;
  background: var(--pf-input);
  border: 1px solid #b9c7d5;
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  min-height: 40px;
  padding: 8px 10px;
}

.pf-generic__field:has(input:disabled),
.pf-generic__field[hidden] {
  opacity: 1;
}

.pf-generic__radio-option {
  align-items: center;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 6px;
  line-height: 1.2;
  min-height: 22px;
}

.pf-generic__radio-option input[type='radio'] {
  accent-color: var(--pf-accent);
  appearance: auto;
  flex: 0 0 auto;
  height: 14px;
  margin: 0;
  min-height: 0;
  padding: 0;
  width: 14px;
}

.pf-generic__radio-option input[type='checkbox'] {
  accent-color: var(--pf-accent);
  appearance: auto;
  flex: 0 0 auto;
  height: 14px;
  margin: 0;
  min-height: 0;
  padding: 0;
  width: 14px;
}

.pf-search-select {
  display: block;
  position: relative;
}

.pf-search-select__list {
  background: #fff;
  border: 1px solid #b9c7d5;
  border-radius: 6px;
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.16);
  left: 0;
  max-height: 260px;
  overflow-y: auto;
  padding: 4px;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 20;
}

.pf-search-select__option,
.pf-search-select__empty {
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: var(--pf-ink);
  display: block;
  font: inherit;
  font-weight: 700;
  padding: 8px 9px;
  text-align: left;
  width: 100%;
}

.pf-search-select__option {
  cursor: pointer;
}

.pf-search-select__option:hover,
.pf-search-select__option:focus {
  background: #e8f1ff;
  outline: none;
}

.pf-search-select__empty {
  color: var(--pf-muted);
}

.pf-generic__actions {
  align-items: end;
  display: flex;
}

.pf-generic__actions button {
  background: var(--pf-accent);
  border: 1px solid var(--pf-accent);
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  min-height: 42px;
  padding: 9px 16px;
}

.pf-generic__message {
  color: #9a3412;
  font-weight: 700;
  margin-top: 14px;
}

.pf-generic__hint {
  color: #0f5f99;
  display: block;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 2px;
}

.pf-generic__instruction {
  background: #eef0f3;
  border-radius: 6px;
  color: #0f5f99;
  margin-top: 6px;
  padding: 8px 10px;
}

.pf-generic__instruction strong {
  color: #334155;
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}

.pf-generic__instruction p {
  font-size: 12px;
  line-height: 1.35;
  margin: 0;
}

.pf-generic__results {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  transition: opacity 0.18s ease, filter 0.18s ease;
}

.pf-generic-warning {
  background: #fff0f0;
  border: 1px solid #f3b4b4;
  border-radius: 8px;
  color: #b91c1c;
  grid-column: 1 / -1;
  padding: 12px 14px;
}

.pf-generic-warning h3 {
  font-size: 22px;
  margin: 0 0 6px;
}

.pf-generic-warning p {
  font-size: 14px;
  line-height: 1.35;
  margin: 0;
}

.pf-generic-warning p + p {
  margin-top: 4px;
}

.pf-generic-warning__title {
  font-weight: 800;
}

.pf-generic--stale .pf-generic__results {
  filter: grayscale(0.8);
  opacity: 0.42;
}

.pf-generic-result {
  background: var(--pf-output);
  border: 1px solid #a7dfb0;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 14px;
}

.pf-generic-result span {
  color: var(--pf-muted);
  font-size: 13px;
}

.pf-generic-result strong {
  font-size: 18px;
}

.pf-generic-result__value-row {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.pf-generic-result__unit {
  color: var(--pf-muted);
  font-size: 13px;
  font-weight: 700;
}

.pf-surge-result {
  display: grid;
  gap: 8px;
}

.pf-surge-result__body {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(460px, 0.95fr) minmax(700px, 1.25fr);
}

.pf-surge-result__grid {
  align-content: start;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

.pf-surge-result__card {
  min-height: 72px;
  padding: 10px 12px;
}

.pf-surge-result__advisory {
  background: #e9f6ea;
  border: 1px solid #b7debb;
  border-radius: 8px;
  color: #1f5f2c;
  padding: 10px 12px;
}

.pf-surge-chart {
  background: #eceff2;
  border: 1px solid #d0d6dd;
  border-radius: 10px;
  margin-top: 2px;
  overflow: hidden;
  padding: 10px 10px 12px;
}

.pf-surge-chart h4 {
  color: #575d64;
  font-size: clamp(30px, 2.6vw, 48px);
  font-weight: 800;
  letter-spacing: 0.2px;
  margin: 0 0 6px;
  text-align: center;
}

.pf-surge-chart svg {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  width: 100%;
}

.pf-surge-chart .axis {
  stroke: #aeb7c1;
  stroke-width: 1;
}

.pf-surge-chart .grid line {
  stroke: #cfd5dc;
  stroke-width: 0.8;
}

.pf-surge-chart .tick {
  fill: #616871;
  font-size: 12px;
  font-weight: 600;
}

.pf-surge-chart .line-inlet {
  fill: none;
  stroke: #2f7cd7;
  stroke-width: 2.5;
}

.pf-surge-chart .line-valve {
  fill: none;
  stroke: #ff4f00;
  stroke-width: 2.5;
}

.pf-surge-chart .peak-inlet {
  fill: #2f7cd7;
}

.pf-surge-chart .peak-valve {
  fill: #ff4f00;
}

.pf-surge-chart .axis-label {
  fill: #5a6067;
  font-size: 13px;
  font-weight: 700;
}

.pf-surge-chart .legend {
  font-size: 13px;
  font-weight: 700;
}

.pf-surge-chart .legend.inlet {
  fill: #2f7cd7;
}

.pf-surge-chart .legend.valve {
  fill: #ff4f00;
}

.pf-surge-profile {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}

.pf-surge-profile__item {
  display: grid;
  gap: 7px;
}

.pf-surge-profile__item span {
  color: #45556a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.pf-surge-profile__item input,
.pf-surge-profile__item select {
  min-height: 42px;
}

.pf-surge-profile__item .pf-generic__hint {
  color: #1f5f9b;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 2px;
}

@media (max-width: 900px) {
  .pf-generic--surge-pressure-calc .pf-generic__form {
    grid-template-columns: 1fr;
  }

  .pf-surge-profile {
    grid-template-columns: 1fr;
  }

  .pf-generic--surge-pressure-calc .pf-generic__actions button {
    width: 100%;
  }
}

.pf-generic--gas-density-flow-convert {
  max-width: 980px;
}

.pf-generic--gas-density-flow-convert .pf-generic__form {
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-generic--gas-density-flow-convert .pf-generic__field--instruction,
.pf-generic--gas-density-flow-convert .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--gas-density-flow-convert .pf-generic__instruction {
  background: #eaf3ff;
  border: 1px solid #c7daf7;
  color: #114d84;
  margin-top: 0;
  padding: 10px 12px;
}

.pf-gdfc-result {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-gdfc-result h3 {
  grid-column: 1 / -1;
  margin-bottom: 2px;
}

.pf-gdfc-result__value-row strong {
  font-size: 20px;
}

.pf-gdfc-result__unit {
  min-height: 36px;
  min-width: 120px;
}

.pf-pump-efficiency-reference {
  color: #0f5f99;
  font-size: 12px;
  font-weight: 700;
  grid-column: 1 / -1;
  line-height: 1.35;
  margin-top: 2px;
}

.pf-pump-efficiency-reference span {
  display: block;
}

.pf-two-phase-result {
  background: #fff;
  border: 1px solid var(--pf-border);
  border-radius: 8px;
  grid-column: 1 / -1;
  padding: 14px;
}

.pf-two-phase-result h3 {
  color: #005b9f;
  font-size: 18px;
  margin: 0 0 10px;
}

.pf-sound-power-level-result {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-sound-power-level-result h3,
.pf-sound-power-level-result .pf-generic__note {
  grid-column: 1 / -1;
}

.pf-sound-power-level-result .pf-generic-result {
  margin: 0;
}

.pf-fiv-result__table {
  overflow-x: auto;
}

.pf-fiv-result__lead {
  color: #0f5f99;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
}

.pf-fiv-result__table table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0;
  width: 100%;
}

.pf-fiv-result__table caption {
  color: #0f172a;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 10px;
  text-align: left;
}

.pf-fiv-result__table th,
.pf-fiv-result__table td {
  border: 1px solid #cfd9e5;
  display: table-cell !important;
  font-size: 12px;
  padding: 8px 6px;
  text-align: center;
  vertical-align: middle;
}

.pf-fiv-result__table th {
  background: #f3f8fd;
  color: #0f172a;
  font-weight: 800;
}

.pf-fiv-result__table tr[style*='background:#eef7ff'] td {
  background: #e8f3ff;
  font-weight: 700;
}

.pf-generic__note {
  color: #0f5f99;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  margin: 2px 0 0;
}

.pf-two-phase-result table {
  border-collapse: separate;
  border-spacing: 0 7px;
  width: 100%;
}

.pf-two-phase-result th {
  color: #334155;
  font-size: 13px;
  font-weight: 700;
  padding: 0 0 3px;
  text-align: left;
}

.pf-two-phase-result td {
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(0, 1fr);
}

.pf-two-phase-result td:has(select) {
  grid-template-columns: minmax(0, 1fr) 150px;
}

.pf-two-phase-result strong,
.pf-two-phase-result select {
  border: 1px solid #b9c7d5;
  border-radius: 6px;
  font: inherit;
  min-height: 36px;
  padding: 8px 10px;
}

.pf-two-phase-result strong {
  align-items: center;
  background: var(--pf-output);
  border-color: #a7dfb0;
  display: flex;
  font-weight: 800;
}

.pf-two-phase-result select {
  background: var(--pf-input);
  color: var(--pf-ink);
  font-weight: 700;
  width: 100%;
}

.pf-hori-tank-vol-result table {
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #1f2937;
  table-layout: fixed;
  width: 100%;
}

.pf-hori-tank-vol-result caption {
  font-size: 20px;
  margin-bottom: 10px;
}

.pf-hori-tank-vol-result tr {
  display: table-row;
}

.pf-hori-tank-vol-result th,
.pf-hori-tank-vol-result td {
  border: 1px solid #1f2937;
  display: table-cell !important;
  padding: 8px 6px;
  text-align: center;
  vertical-align: middle;
}

.pf-gpd-result table {
  display: grid;
  gap: 0 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-gpd-result tbody {
  display: contents;
}

.pf-gpd-result tr {
  display: block;
}

.pf-rupture-result table {
  display: grid;
  gap: 0 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-rupture-result tbody {
  display: contents;
}

.pf-rupture-result tr {
  display: block;
}

.pf-flange-chart {
  background: #f3f5f7;
  border: 1px solid #d6dee7;
  border-radius: 6px;
  margin-top: 10px;
  padding: 8px;
}

.pf-flange-reference {
  background: #ffffff;
  border: 1px solid #cfd9e5;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 0;
  overflow: hidden;
}

.pf-flange-reference__head {
  background: #f8fbff;
  border-bottom: 1px solid #dbe5f0;
  padding: 14px 16px 12px;
}

.pf-flange-reference h4 {
  color: #0f172a;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 6px;
}

.pf-flange-reference p {
  color: #475569;
  font-size: 15px;
  margin: 0;
}

.pf-flange-reference__table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  table-layout: fixed;
  width: 100%;
}

.pf-flange-reference__scroll {
  overflow-x: auto;
}

.pf-flange-reference__table th,
.pf-flange-reference__table td {
  display: table-cell !important;
  border-bottom: 1px solid #d6dee7;
  font-size: 14px;
  padding: 10px 16px;
  text-align: left;
  vertical-align: top;
}

.pf-flange-reference__table tr {
  display: table-row !important;
}

.pf-flange-reference__table th {
  color: #0f172a;
  background: #f3f7fc;
  font-weight: 800;
}

.pf-flange-reference__table td:first-child {
  color: #0f172a;
  font-weight: 700;
  width: 56px;
}

.pf-flange-reference__table th:nth-child(2),
.pf-flange-reference__table td:nth-child(2) {
  min-width: 240px;
  width: 240px;
}

.pf-flange-reference__footnote {
  color: #475569;
  font-size: 13px;
  margin: 0;
  padding: 12px 16px 14px;
}


.pf-flange-chart svg {
  display: block;
  height: auto;
  width: 100%;
}

.pf-flange-chart .grid line {
  stroke: #d4dce6;
  stroke-width: 1;
}

.pf-flange-chart .axis {
  stroke: #8ea1b5;
  stroke-width: 1.3;
}

.pf-flange-chart .legend rect {
  fill: #ffd4d8;
  stroke: #f08b92;
  stroke-width: 1;
}

.pf-flange-chart .legend text {
  fill: #4b5563;
  font-size: 11px;
}

.pf-flange-chart polyline {
  fill: none;
  stroke: #f08b92;
  stroke-width: 2;
}

.pf-flange-chart .pts circle {
  fill: #1d4ed8;
}

.pf-flange-chart .ticks text {
  fill: #65758a;
  font-size: 11px;
}

.pf-flange-chart .axis-label {
  fill: #4a5b70;
  font-size: 12px;
}

.pf-flange-result .pf-min-submerge-result__table {
  border-collapse: collapse;
  border-spacing: 0;
}

.pf-flange-result .pf-min-submerge-result__table th,
.pf-flange-result .pf-min-submerge-result__table td {
  display: table-cell;
  text-align: center;
}

@media (max-width: 900px) {
  .pf-gpd-result table {
    grid-template-columns: minmax(0, 1fr);
  }

}

.pf-tps-diagram {
  background: #fff;
  border: 1px solid var(--pf-border);
  border-radius: 8px;
  grid-column: 1 / -1;
  padding: 16px;
}

.pf-tps-diagram__title {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.pf-tps-diagram__title h3 {
  font-size: 18px;
  margin: 0;
}

.pf-tps-diagram__title span {
  color: var(--pf-muted);
  font-size: 13px;
}

.pf-tps-diagram__body {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 300px;
}

.pf-tps-diagram svg {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 255, 0.92)),
    radial-gradient(circle at 52% 30%, rgba(22, 99, 199, 0.08), transparent 34%);
  border: 1px solid var(--pf-border);
  border-radius: 8px;
  display: block;
  height: auto;
  min-height: 420px;
  width: 100%;
}

.pf-tps-diagram svg text {
  fill: var(--pf-ink);
  font-size: 15px;
}

.pf-tps-diagram svg .vessel {
  fill: #fff;
  stroke: #17202a;
  stroke-width: 2.2;
}

.pf-tps-diagram svg .vessel-shade {
  fill: #eaf4ff;
  opacity: 0.78;
  stroke: none;
}

.pf-tps-diagram svg .level,
.pf-tps-diagram svg .mist,
.pf-tps-diagram svg .mist-grid line,
.pf-tps-diagram svg .nozzle,
.pf-tps-diagram svg .dim,
.pf-tps-diagram svg .tangent,
.pf-tps-diagram svg .tick,
.pf-tps-diagram svg .leader {
  stroke: #17202a;
  stroke-width: 2;
}

.pf-tps-diagram svg .tangent {
  stroke-width: 1.6;
}

.pf-tps-diagram svg .mist {
  stroke-width: 1;
}

.pf-tps-diagram svg .mist-grid line {
  stroke-width: 0.8;
}

.pf-tps-diagram svg .dim-dark {
  stroke-width: 1.4;
}

.pf-tps-diagram svg .callout {
  fill: none;
  stroke: #5f6f80;
  stroke-width: 1.6;
}

.pf-tps-diagram svg .flow {
  fill: none;
  stroke: var(--pf-accent);
  stroke-width: 3;
}

.pf-tps-diagram svg marker path {
  fill: var(--pf-accent);
}

.pf-tps-diagram svg #pf-arrow-dark path {
  fill: var(--pf-ink);
}

.pf-tps-diagram svg .label {
  font-weight: 650;
}

.pf-tps-diagram svg .label-center {
  text-anchor: middle;
}

.pf-tps-diagram svg .value-label {
  fill: #0f559d;
  font-weight: 800;
}

.pf-tps-diagram svg .level-code {
  fill: #455565;
  font-size: 14px;
  font-weight: 800;
}

.pf-tps-diagram svg .note {
  fill: #334155;
  font-size: 13px;
  font-weight: 650;
}

.pf-tps-diagram__table {
  align-self: start;
  border-collapse: collapse;
  border: 1px solid var(--pf-border);
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
}

.pf-tps-diagram__table th,
.pf-tps-diagram__table td {
  border-bottom: 1px solid var(--pf-border);
  font-size: 13px;
  padding: 9px 10px;
  text-align: left;
  vertical-align: top;
}

.pf-tps-diagram__table th {
  background: var(--pf-band);
  color: var(--pf-muted);
  font-weight: 700;
  width: 52%;
}

.pf-tps-diagram__table td {
  background: var(--pf-output);
  font-weight: 800;
}

.pf-tps-diagram__table td span {
  color: var(--pf-muted);
  display: block;
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}

@media (max-width: 900px) {
  .pf-generic--flare-stack-dia-height .pf-generic__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pf-generic--flare-stack-dia-height .pf-generic__field,
  .pf-generic--flare-stack-dia-height .pf-generic__field--instruction,
  .pf-generic--flare-stack-dia-height .pf-generic__actions {
    grid-column: auto;
  }

  .pf-generic--flare-ko-drum .pf-generic__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pf-generic--flare-ko-drum .pf-generic__field,
  .pf-generic--flare-ko-drum .pf-generic__field--instruction,
  .pf-generic--flare-ko-drum .pf-generic__actions {
    grid-column: auto;
  }

  .pf-generic--flare-ko-drum .pf-generic__instruction {
    padding: 12px 13px;
  }

  .pf-generic--flare-ko-drum .pf-two-phase-result--flare-ko-drum h3 {
    font-size: 32px;
  }

  .pf-generic__form,
  .pf-generic__results {
    grid-template-columns: 1fr;
  }

  .pf-gdfc-result {
    grid-template-columns: 1fr;
  }

  .pf-surge-result__grid {
    grid-template-columns: 1fr;
  }

  .pf-generic--rupture-disk .pf-generic__form,
  .pf-generic--two-phase-separator .pf-generic__form,
  .pf-tps-diagram__body {
    grid-template-columns: 1fr;
  }

  .pf-generic__field--paired {
    grid-column: auto;
  }

  .pf-generic__split {
    grid-template-columns: 1fr;
  }
}

.pf-generic--two-phase-density-viscosity .pf-generic__split {
  grid-template-columns: minmax(0, 1fr) 160px;
}

@media (max-width: 520px) {
  .pf-generic--flare-stack-dia-height .pf-generic__split,
  .pf-generic--flare-stack-dia-height .pf-two-phase-result td:has(select) {
    grid-template-columns: 1fr;
  }

  .pf-generic--flare-stack-dia-height .pf-generic__actions button {
    width: 100%;
  }

  .pf-generic--flare-ko-drum .pf-generic__split,
  .pf-generic--flare-ko-drum .pf-two-phase-result td:has(select) {
    grid-template-columns: 1fr;
  }

  .pf-generic--flare-ko-drum .pf-generic__actions button {
    width: 100%;
  }

  .pf-generic--flare-ko-drum .pf-two-phase-result--flare-ko-drum h3 {
    font-size: 28px;
  }

  .pf-sound-power-level-result {
    grid-template-columns: 1fr;
  }

  .pf-generic--two-phase-density-viscosity .pf-generic__split,
  .pf-two-phase-result td:has(select) {
    grid-template-columns: 1fr;
  }

  .pf-gdfc-result__value-row {
    align-items: stretch;
    flex-direction: column;
  }

  .pf-gdfc-result__unit {
    width: 100%;
  }

  .pf-generic--pvrv .pf-generic__split,
  .pf-pvrv-result__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .pf-surge-result__body {
    grid-template-columns: 1fr;
  }

  .pf-surge-result__grid {
    grid-template-columns: 1fr;
  }

  .pf-surge-chart {
    padding-bottom: 8px;
  }

  .pf-surge-chart svg {
    aspect-ratio: 16 / 10;
  }
}

/* Targeted layout QA fixes for calculator pages on the live theme */
.pf-generic--pump-hyd {
  max-width: 1560px;
  padding: 20px 22px 28px;
  background: #eef0f8;
}

.pf-pump-hyd__hero {
  display: grid;
  gap: 18px;
}

.pf-pump-hyd__page-title {
  margin: 0;
  color: #18263e;
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 800;
  letter-spacing: 0;
}

.pf-pump-hyd__divider {
  height: 1px;
  background: #8090bb;
}

.pf-pump-hyd__subtitle,
.pf-pump-hyd__inputs-title,
.pf-pump-hyd__section-title {
  margin: 0;
  color: #0f6591;
  font-weight: 500;
  letter-spacing: 0;
}

.pf-pump-hyd__subtitle {
  font-size: clamp(26px, 2.3vw, 36px);
}

.pf-pump-hyd__sketch {
  overflow: hidden;
  border-radius: 8px;
  background: #f6f7fb;
  box-shadow: inset 0 0 0 1px rgba(146, 160, 200, 0.3);
}

.pf-pump-hyd__sketch svg {
  display: block;
  width: 100%;
  height: auto;
}

.pf-pump-hyd__form {
  display: grid;
  gap: 18px;
  margin-top: 10px;
}

.pf-pump-hyd__inputs-title {
  font-size: clamp(28px, 2.6vw, 42px);
}

.pf-pump-hyd__section {
  display: grid;
  gap: 12px;
}

.pf-pump-hyd__section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.pf-pump-hyd__section-title {
  font-size: clamp(26px, 2.5vw, 40px);
}

.pf-pump-hyd__line-controls {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.pf-pump-hyd__line-button {
  min-width: 118px;
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  padding: 10px 14px;
  background: #0f6591;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.pf-pump-hyd__line-button--secondary {
  background: #7483a4;
}

.pf-pump-hyd__line-button:disabled {
  opacity: 0.45;
  cursor: default;
}

.pf-pump-hyd__summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 0;
}

.pf-pump-hyd__line-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.pf-pump-hyd__line-column {
  min-width: 0;
}

.pf-pump-hyd__line-label {
  margin-bottom: 6px;
  color: #6c778c;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.pf-pump-hyd__field {
  gap: 4px;
  padding: 0 0 6px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.pf-pump-hyd__field > span:first-child {
  color: #3f4858;
  font-size: clamp(18px, 1.7vw, 28px);
  line-height: 1.2;
}

.pf-pump-hyd__field input:not([type='radio']),
.pf-pump-hyd__field select {
  min-height: 54px;
  border: 1px solid #d9d3a0;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: clamp(16px, 1.35vw, 22px);
  line-height: 1.2;
  background: #fffcc6;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.pf-pump-hyd__field--output input:not([type='radio']),
.pf-pump-hyd__field--output select {
  border-color: #b8dbb7;
  background: #d4f3d2;
}

.pf-pump-hyd__note {
  margin: -2px 0 0;
  color: #0f6591;
  font-size: clamp(15px, 1.15vw, 19px);
  line-height: 1.25;
}

.pf-pump-hyd__summary-note {
  grid-column: 2;
}

.pf-pump-hyd__note a {
  color: #224cd0;
}

.pf-pump-hyd__toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  min-height: 54px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.45);
  color: #3f4858;
  font-size: clamp(18px, 1.55vw, 24px);
}

.pf-pump-hyd__toggle input {
  width: 22px;
  height: 22px;
  margin: 0;
}

.pf-pump-hyd__full-width {
  grid-column: 1 / -1;
}

.pf-pump-hyd__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-start;
}

.pf-pump-hyd__actions--head {
  margin-top: 4px;
}

.pf-pump-hyd__actions button {
  min-width: 156px;
}

.pf-pump-hyd__message {
  margin-top: 10px;
}

.pf-pump-hyd__results {
  margin-top: 0;
  grid-template-columns: 1fr;
}

.pf-pump-hyd__results .pf-pump-hyd__section-title,
.pf-pump-hyd__results .pf-pump-hyd__line-grid,
.pf-pump-hyd__results .pf-pump-hyd__full-width {
  grid-column: 1 / -1;
}

.pf-generic--stale .pf-pump-hyd__field--output input:not([type='radio']),
.pf-generic--stale .pf-pump-hyd__field--output select {
  filter: grayscale(0.85);
  opacity: 0.42;
}

.pf-generic--steam-flashing .pf-generic__field input:not([type='radio']),
.pf-generic--steam-flashing .pf-generic__field select,
.pf-generic--control-valve-gas .pf-generic__field input:not([type='radio']),
.pf-generic--control-valve-gas .pf-generic__field select,
.pf-generic--flare-stack-dia-height .pf-generic__field input:not([type='radio']),
.pf-generic--flare-stack-dia-height .pf-generic__field select,
.pf-generic--flare-ko-drum .pf-generic__field input:not([type='radio']),
.pf-generic--flare-ko-drum .pf-generic__field select {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pf-surge-result__body {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr);
}

.pf-surge-chart {
  min-width: 0;
}

.pf-surge-chart h4 {
  font-size: clamp(24px, 2.1vw, 38px);
  line-height: 1.1;
}

.pf-relief-fire-wetted-sketch .pf-rfw-dim-arrow {
  marker-start: url(#pf-rfw-arrow-start);
  marker-end: url(#pf-rfw-arrow-end);
  stroke-linecap: round;
}

.pf-relief-fire-wetted-sketch .pf-rfw-arrow-head {
  fill: #0f3f68;
  stroke: #0f3f68;
  stroke-width: 0.5;
}

.pf-fiv-result__table {
  -webkit-overflow-scrolling: touch;
}

.pf-fiv-result__table table {
  min-width: 720px;
}

.pf-fiv-result__table th,
.pf-fiv-result__table td {
  white-space: normal;
  word-break: keep-all;
}

@media (max-width: 900px) {
  .pf-generic--npshrequired .pf-generic__field,
  .pf-generic--npshrequired .pf-generic__field--instruction,
  .pf-generic--npshrequired .pf-generic__actions {
    grid-column: 1 / -1;
  }

  .pf-generic--npshrequired .pf-generic__instruction p {
    column-count: 1;
  }

  .pf-generic--npshrequired .pf-generic__actions {
    justify-content: stretch;
  }

  .pf-generic--npshrequired .pf-generic__actions button {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .pf-pump-hyd__summary-grid,
  .pf-pump-hyd__line-grid,
  .pf-generic--flare-stack-dia-height .pf-generic__form,
  .pf-generic--flare-ko-drum .pf-generic__form,
  .pf-generic--control-valve-gas .pf-generic__form {
    grid-template-columns: 1fr;
  }

  .pf-pump-hyd__section-heading {
    align-items: stretch;
  }

  .pf-pump-hyd__line-controls {
    width: 100%;
  }

  .pf-pump-hyd__line-button {
    flex: 1 1 0;
  }

  .pf-pump-hyd__summary-note {
    grid-column: auto;
  }

  .pf-pump-hyd__actions {
    justify-content: stretch;
  }

  .pf-generic--flare-stack-dia-height,
  .pf-generic--flare-ko-drum {
    padding: 12px;
  }

  .pf-generic--flare-stack-dia-height .pf-generic__form,
  .pf-generic--flare-ko-drum .pf-generic__form {
    gap: 12px;
    padding: 14px;
  }

  .pf-generic--flare-stack-dia-height .pf-generic__field,
  .pf-generic--flare-stack-dia-height .pf-generic__field--instruction,
  .pf-generic--flare-stack-dia-height .pf-generic__actions,
  .pf-generic--flare-ko-drum .pf-generic__field,
  .pf-generic--flare-ko-drum .pf-generic__field--instruction,
  .pf-generic--flare-ko-drum .pf-generic__actions,
  .pf-generic--control-valve-gas .pf-generic__field,
  .pf-generic--control-valve-gas .pf-generic__actions {
    grid-column: 1 / -1;
  }

  .pf-generic--flare-stack-dia-height .pf-generic__field span:first-child,
  .pf-generic--flare-ko-drum .pf-generic__field span:first-child {
    font-size: 15px;
    line-height: 1.35;
  }

  .pf-generic--flare-stack-dia-height .pf-generic__field input:not([type='radio']),
  .pf-generic--flare-stack-dia-height .pf-generic__field select,
  .pf-generic--flare-ko-drum .pf-generic__field input:not([type='radio']),
  .pf-generic--flare-ko-drum .pf-generic__field select {
    min-height: 46px;
    padding: 9px 11px;
  }

  .pf-generic--flare-stack-dia-height .pf-generic__actions button,
  .pf-generic--flare-ko-drum .pf-generic__actions button,
  .pf-generic--control-valve-gas .pf-generic__actions button,
  .pf-pump-hyd__actions button {
    min-width: 0;
    width: 100%;
  }

  .pf-generic--control-valve-gas .pf-generic__radio {
    align-items: stretch;
    flex-direction: column;
  }

  .pf-generic--control-valve-gas .pf-generic__radio-option {
    width: 100%;
  }

  .pf-two-phase-result--flare-ko-drum {
    padding: 12px;
  }

  .pf-two-phase-result--flare-ko-drum h3 {
    font-size: 24px;
    line-height: 1.1;
  }
}

@media (max-width: 560px) {
  .pf-generic--steam-flashing {
    padding: 12px;
  }

  .pf-generic--steam-flashing .pf-generic__form,
  .pf-generic--steam-flashing .pf-generic__results {
    gap: 10px;
  }

  .pf-generic--steam-flashing .pf-generic__field input:not([type='radio']),
  .pf-generic--steam-flashing .pf-generic__field select {
    font-size: 12px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .pf-fiv-result {
    padding: 10px;
  }

  .pf-fiv-result__table table {
    min-width: 640px;
  }

  .pf-fiv-result__table th,
  .pf-fiv-result__table td {
    font-size: 11px;
    padding: 7px 5px;
  }

  .pf-surge-chart {
    padding: 8px 6px 10px;
  }

  .pf-surge-chart h4 {
    font-size: 20px;
  }
}

/* Standard calculator page frame for consistent theme/ad placement. */
.pf-generic-calc {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: min(1200px, 100%);
  min-height: 720px;
  width: 100%;
}

.pf-generic--pump-efficiency,
.pf-generic--pump-power,
.pf-generic--steam-flashing,
.pf-generic--pvrv,
.pf-generic--two-phase-density-viscosity,
.pf-generic--vpour-pressure,
.pf-generic--npsha,
.pf-generic--min-submerge,
.pf-generic--pipe-holdup,
.pf-generic--aet-calc,
.pf-generic--flange-rating,
.pf-generic--two-phase-pressure-drop,
.pf-generic--gas-orifice,
.pf-generic--sat-steam-properties,
.pf-generic--thermal-relief-valve,
.pf-generic--head-to-pressure,
.pf-generic--pressure-to-head,
.pf-generic--compressor-fad-calc,
.pf-generic--rupture-disk,
.pf-generic--fiv,
.pf-generic--cooling-tower-calc,
.pf-generic--relief-fire-wetted,
.pf-generic--relief-fire-unwetted,
.pf-generic--pipe-heat-loss,
.pf-generic--npshrequired,
.pf-generic--control-valve-gas,
.pf-generic--emergency-vent,
.pf-generic--surge-pressure-calc,
.pf-generic--flare-stack-dia-height,
.pf-generic--flare-ko-drum,
.pf-generic--pump-hyd {
  max-width: min(1200px, 100%);
}

.pf-generic--pvrv .pf-pvrv-form {
  gap: 8px 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: none;
}

.pf-generic--pvrv .pf-pvrv__intro,
.pf-generic--pvrv .pf-pvrv__section,
.pf-generic--pvrv .pf-generic__actions {
  grid-column: 1 / -1;
}

.pf-generic--pvrv .pf-pvrv-results-wrap {
  max-width: none;
}

@media (max-width: 760px) {
  .pf-generic-calc {
    min-height: 0;
    padding: 16px;
  }

  .pf-generic__form {
    grid-template-columns: 1fr !important;
  }

  .pf-generic__field,
  .pf-generic__field--instruction,
  .pf-generic__actions,
  .pf-emv-section {
    grid-column: 1 / -1 !important;
  }

  .pf-generic__split {
    grid-template-columns: 1fr;
  }

  .pf-generic__actions {
    justify-content: stretch;
  }

  .pf-generic__actions button {
    width: 100%;
  }
}
