/* TapChecked Tools — tool UI styles. Uses the child theme's brand variables. */
.tc-tool {
  background: #fff;
  border: 1px solid var(--tc-border, #D8E6EA);
  border-radius: var(--tc-radius, 14px);
  padding: 1.6rem 1.4rem;
  box-shadow: 0 2px 14px rgba(13, 47, 71, .06);
  margin: 1.2rem 0 1.8rem;
}
.tc-tool label { display: block; margin-bottom: .3rem; }
.tc-hint, .tc-fineprint {
  color: var(--tc-muted, #51707E);
  font-size: .88rem;
  margin: .35rem 0 0;
}
.tc-field { margin-bottom: 1.05rem; }
.tc-field input { max-width: 320px; }
.tc-lookup-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.tc-lookup-row input {
  flex: 1 1 180px; max-width: 260px;
  font-size: 1.15rem; letter-spacing: .06em;
}
.tc-lookup-status { margin: 1rem 0 0; font-weight: 600; color: var(--tc-navy, #0D2F47); }
.tc-cost-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; margin-bottom: 1rem;
}
.tc-cost-system {
  border: 1px solid var(--tc-border, #D8E6EA);
  border-radius: 10px;
  padding: 1rem 1.1rem .4rem;
  min-width: 0;
}
.tc-cost-system legend { font-weight: 700; color: var(--tc-navy, #0D2F47); padding: 0 .4rem; }
.tc-cost-system .tc-field input { max-width: 100%; }

.tc-answer {
  margin-top: 1.4rem;
  background: var(--tc-soft, #EEF7F9);
  border: 1px solid var(--tc-border, #D8E6EA);
  border-radius: 10px;
  padding: 1.2rem 1.3rem;
}
.tc-answer h3 { margin-top: 0; }
.tc-steps li, .tc-facts li { margin-bottom: .45rem; }
.tc-warn { color: #8A4B00; font-weight: 600; }
.tc-winner { font-size: 1.12rem; font-weight: 700; color: var(--tc-navy, #0D2F47); }
.tc-compare .tc-num, table.tc-compare td.tc-num { text-align: right; white-space: nowrap; }
.tc-compare tr:last-child td { font-weight: 700; }

.tc-result { margin-top: 1.2rem; }
.tc-system {
  border: 1px solid var(--tc-border, #D8E6EA);
  border-radius: 10px;
  padding: 1.1rem 1.3rem;
  margin: 1rem 0;
  background: #fff;
}
.tc-system h3 { margin-top: 0; }
.tc-system h4 { margin: 1rem 0 .35rem; font-size: 1.02rem; }
.tc-system-meta { color: var(--tc-muted, #51707E); font-size: .92rem; margin-top: -.4rem; }
.tc-lcr li, .tc-violations li { margin-bottom: .5rem; }
.tc-guidance {
  background: var(--tc-soft, #EEF7F9);
  border: 1px solid var(--tc-border, #D8E6EA);
  border-radius: 10px;
  padding: 1.1rem 1.3rem;
  margin-top: 1.2rem;
}
.tc-guidance h3 { margin-top: 0; }
.tc-source { color: var(--tc-muted, #51707E); font-size: .88rem; margin-top: 1.1rem; }

@media (max-width: 768px) {
  .tc-tool { padding: 1.2rem 1rem; }
  .tc-cost-grid { grid-template-columns: 1fr; }
  .tc-field input { max-width: 100%; }
}
