.tool-page { padding: 56px 0 96px; }
.tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding-top: 32px; }
@media (max-width:880px){ .tool-grid { grid-template-columns: 1fr; gap: 32px; } }
.tool-input {
  font-family: var(--body); font-size: 15px; color: var(--ink);
  background: transparent; border: 0; border-bottom: 0.5px solid var(--rule);
  padding: 8px 0; outline: none; width: 100%;
}
.tool-input:focus { border-bottom-color: var(--oxblood); color: var(--oxblood); }
.tool-input[type="number"] { font-family: var(--mono); }
.tool-label { font-family: var(--sc); font-size: 11px; letter-spacing: 0.16em; color: var(--muted); display: block; margin: 16px 0 0; }
.tool-radio-row { display: flex; gap: 16px; flex-wrap: wrap; padding: 8px 0; }
.tool-radio-row label { font-family: var(--body); font-size: 14px; cursor: pointer; padding: 6px 12px; border: 0.5px solid var(--rule); }
.tool-radio-row input { display: none; }
.tool-radio-row input:checked + span { color: var(--oxblood); }
.tool-radio-row label:has(input:checked) { border-color: var(--oxblood); }

.tool-output {
  background: var(--paper-deep); padding: 32px; border: 0.5px solid var(--rule);
}
.tool-output h3 { font-family: var(--display); font-style: italic; font-size: 22px; margin-bottom: 16px; }
.tool-output .band {
  display: grid; grid-template-columns: 1fr auto; align-items: baseline;
  padding: 12px 0; border-bottom: 0.5px solid var(--rule);
}
.tool-output .band .label { font-family: var(--sc); letter-spacing: 0.14em; font-size: 12px; color: var(--muted); }
.tool-output .band .value { font-family: var(--display); font-style: italic; font-size: 22px; color: var(--oxblood); }
.tool-output .band .fx { font-family: var(--mono); font-size: 11px; color: var(--muted); margin-top: 4px; }
.tool-output .adjustments { margin-top: 24px; font-family: var(--mono); font-size: 12px; color: var(--ink); }
.tool-output .adjustments li { padding: 4px 0; display: flex; justify-content: space-between; border-bottom: 0.5px dashed var(--rule); }
.tool-output .adjustments li.muted { color: var(--muted); }

.compliance-strip {
  font-family: var(--mono); font-size: 11px; color: var(--muted);
  border-top: 0.5px solid var(--rule); padding: 24px 0; margin-top: 56px; letter-spacing: 0.04em;
}
.compliance-strip a { color: var(--ink); border-bottom: 0.5px solid var(--rule); text-decoration: none; }

.tool-tabs { display: flex; gap: 0; border-bottom: 0.5px solid var(--rule); margin: 24px 0 32px; }
.tool-tab {
  font-family: var(--sc); font-size: 12px; letter-spacing: 0.16em;
  padding: 14px 24px; border: 0; background: transparent; cursor: pointer;
  color: var(--muted); border-bottom: 1px solid transparent; margin-bottom: -1px;
}
.tool-tab.active { color: var(--oxblood); border-bottom-color: var(--oxblood); }

.chart-frame { background: var(--paper-deep); border: 0.5px solid var(--rule); padding: 32px; margin: 24px 0; }
.chart-frame h4 { font-family: var(--display); font-style: italic; font-size: 18px; margin-bottom: 16px; }
.chart-frame canvas { max-height: 320px; }
.chart-caption { font-family: var(--mono); font-size: 11px; color: var(--muted); margin-top: 12px; letter-spacing: 0.04em; }
