.calc { display: grid; gap: 1rem; }
.calc h2 { font-size: 1.05rem; margin: .2rem 0 .35rem; }
.calc p.hint { margin: 0; color: var(--muted); font-size: .92rem; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem .9rem; }
.field { display: flex; flex-direction: column; gap: .28rem; min-width: 0; }
.field.wide { grid-column: 1 / -1; }
.field span, .check span { line-height: 1.45; }
.calc input, .calc select {
  width: 100%; min-height: 44px; font: inherit; font-size: 16px; color: var(--ink);
  background: var(--bg); border: 1px solid var(--line); border-radius: .55rem; padding: 0 .7rem;
}
.checks { display: grid; gap: 0; }
.check {
  display: flex; gap: .7rem; align-items: flex-start;
  padding: .72rem 0; border-bottom: 1px solid var(--line);
}
.check input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: var(--teal); flex: none; }
.actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.calc button {
  min-height: 44px; border-radius: .6rem; border: 1px solid var(--teal);
  background: var(--teal); color: #f4f0e6; font: inherit; font-weight: 700; padding: 0 1rem;
}
.calc button.ghost { background: transparent; color: var(--teal); }
.outcome {
  border: 1px solid var(--line); border-radius: .8rem; padding: .95rem 1rem; background: var(--bg);
}
.outcome h2 { margin: 0 0 .35rem; font-size: 1.2rem; }
.outcome p { margin: .25rem 0; }
.outcome ul { margin: .35rem 0 0; padding-left: 1.15rem; }
.segment { display: grid; gap: .75rem; padding-top: .35rem; }
@media (max-width: 640px) {
  .fields { grid-template-columns: 1fr; }
}
