.calculator-page .calculator-shell {
  width: 100%;
  max-width: calc(var(--content-max) + 2rem);
  margin: 0 auto;
}
.calculator-shell { display: grid; gap: 1.35rem; }

.tool-finder {
  position: sticky;
  top: .5rem;
  z-index: 12;
  display: grid;
  grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.4fr) auto;
  gap: .8rem;
  align-items: end;
  padding: .8rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(6, 14, 19, .96);
  box-shadow: 0 12px 28px rgba(2, 8, 12, .3);
}

.tool-search { display: grid; gap: .28rem; color: var(--muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.tool-search input,
.tool-form input,
.tool-form select {
  width: 100%;
  min-height: 2.65rem;
  border: 1px solid rgba(167, 214, 232, .22);
  border-radius: 6px;
  padding: .55rem .65rem;
  color: var(--text);
  background: #0a1a23;
  font: 600 .96rem/1 "Source Sans 3", sans-serif;
}
.tool-search input:focus,
.tool-form input:focus,
.tool-form select:focus { outline: 2px solid rgba(106, 225, 255, .7); outline-offset: 1px; border-color: transparent; }

.tool-filters { display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none; }
.tool-filters::-webkit-scrollbar { display: none; }
.tool-filters button {
  min-height: 2.65rem;
  border: 1px solid rgba(167, 214, 232, .16);
  border-radius: 6px;
  padding: .45rem .75rem;
  color: var(--muted);
  background: rgba(255, 255, 255, .03);
  font: 700 .84rem/1 "Source Sans 3", sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
.tool-filters button:hover,
.tool-filters button:focus-visible { color: var(--text); border-color: rgba(106, 225, 255, .4); }
.tool-filters button.is-active { color: #061118; border-color: transparent; background: var(--accent); }
.tool-count { margin: 0 0 .55rem; color: var(--muted); font-size: .82rem; white-space: nowrap; }
.tool-count strong { color: var(--text); }
.tool-view-status { display: grid; gap: .45rem; justify-items: end; }
.tool-view { display: inline-grid; grid-template-columns: repeat(2, auto); border: 1px solid rgba(167, 214, 232, .18); border-radius: 6px; overflow: hidden; }
.tool-view button { min-height: 2rem; border: 0; border-right: 1px solid rgba(167, 214, 232, .18); padding: .35rem .58rem; color: var(--muted); background: rgba(255, 255, 255, .03); font: 700 .74rem/1 "Source Sans 3", sans-serif; cursor: pointer; }
.tool-view button:last-child { border-right: 0; }
.tool-view button:hover,
.tool-view button:focus-visible { color: var(--text); }
.tool-view button.is-active { color: #061118; background: var(--accent); }

.tool-section { --tool-accent: #6ae1ff; display: grid; gap: 1rem; padding-block: 1.2rem 1.7rem; }
.tool-section + .tool-section { margin-top: 1rem; padding-top: 2.2rem; border-top: 3px solid color-mix(in srgb, var(--tool-accent) 58%, transparent); }
.tool-section[data-tool-section="rf"] { --tool-accent: #ffad73; }
.tool-section[data-tool-section="workshop"] { --tool-accent: #8ce0a4; }
.tool-section[data-tool-section="more"] { --tool-accent: #d7a9ff; }
.tool-section[hidden] { display: none; }
.tool-section__heading { display: flex; gap: 1rem; align-items: center; justify-content: space-between; min-height: 3.7rem; padding: .65rem .2rem .75rem .9rem; border-left: 4px solid var(--tool-accent); }
.tool-section__heading span { display: flex; gap: .45rem; align-items: center; color: var(--tool-accent); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.tool-section__heading small { border: 1px solid color-mix(in srgb, var(--tool-accent) 38%, transparent); border-radius: 999px; padding: .16rem .42rem; color: var(--muted); font-size: .65rem; white-space: nowrap; }
.tool-section__heading h2 { margin: 0; font: 700 clamp(1.05rem, 2vw, 1.35rem)/1.2 "Space Grotesk", sans-serif; }

.tool-card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.35rem; align-items: start; }
.tool-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
  gap: 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-left: 4px solid var(--tool-accent);
  border-radius: 8px;
  background: rgba(8, 17, 23, .88);
  box-shadow: 0 12px 24px rgba(2, 8, 12, .22);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tool-card:hover { border-color: color-mix(in srgb, var(--tool-accent) 48%, var(--border)); box-shadow: 0 16px 32px rgba(2, 8, 12, .3); }
.tool-card[hidden] { display: none; }
.tool-card.is-collapsed { grid-template-columns: minmax(0, 1fr); }
.tool-card.is-collapsed > :not(header) { display: none; }
.tool-card.is-collapsed > header { border-bottom: 0; }
.tool-card--wide { grid-column: auto; }
.tool-card > header { grid-column: 1 / -1; display: flex; gap: .8rem; align-items: center; min-height: 4.6rem; padding: 1rem; border-bottom: 1px solid rgba(167, 214, 232, .11); background: rgba(13, 36, 49, .4); }
.tool-card > header > div { min-width: 0; flex: 1; }
.tool-card > .tool-form { grid-column: 1; }
.tool-card > .tool-result { grid-column: 2; border-top: 0; border-left: 1px solid rgba(167, 214, 232, .1); }
.tool-card > .tool-card__body,
.tool-card > .table-scroll { grid-column: 1 / -1; }
.tool-number { flex: 0 0 2.05rem; display: grid; place-items: center; min-height: 2.05rem; border: 1px solid color-mix(in srgb, var(--tool-accent) 45%, transparent); border-radius: 50%; color: var(--tool-accent); background: color-mix(in srgb, var(--tool-accent) 8%, transparent); font: 700 .76rem/1 "Space Grotesk", sans-serif; }
.tool-card h3 { margin: 0; font: 700 1.06rem/1.2 "Space Grotesk", sans-serif; }
.tool-card header p { margin: .28rem 0 0; color: var(--muted); font-size: .88rem; }
.tool-card-toggle { flex: 0 0 2.45rem; width: 2.45rem; height: 2.45rem; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--tool-accent) 35%, transparent); border-radius: 50%; color: var(--text); background: color-mix(in srgb, var(--tool-accent) 7%, transparent); cursor: pointer; }
.tool-card-toggle:hover,
.tool-card-toggle:focus-visible { color: #061118; background: var(--tool-accent); outline: none; }
.tool-card-toggle__icon { width: .65rem; height: .65rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-.12rem) rotate(45deg); transition: transform .18s ease; }
.tool-card.is-collapsed .tool-card-toggle__icon { transform: translateY(.12rem) rotate(-45deg); }

.tool-card__body--split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(15rem, .75fr); }
.tool-form { display: grid; gap: .72rem; padding: 1rem; }
.tool-form label { display: grid; gap: .3rem; min-width: 0; color: var(--muted); font-size: .8rem; font-weight: 700; }
.tool-form-note { margin: 0; color: var(--muted); font-size: .8rem; }
.tool-action {
  min-height: 2.65rem;
  border: 0;
  border-radius: 6px;
  padding: .55rem .85rem;
  color: #061118;
  background: var(--accent);
  font: 700 .92rem/1 "Source Sans 3", sans-serif;
  cursor: pointer;
}
.tool-action:hover,
.tool-action:focus-visible { background: #b4efff; }
.tool-action:disabled { opacity: .65; cursor: wait; }
.tool-fields { display: grid; gap: .65rem; }
.tool-fields--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.unit-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; }
.unit-input input { border-radius: 6px 0 0 6px; }
.unit-input b { min-width: 3rem; display: grid; place-items: center; border: 1px solid rgba(167, 214, 232, .22); border-left: 0; border-radius: 0 6px 6px 0; padding: 0 .48rem; color: #d9faff; background: rgba(106, 225, 255, .08); font-size: .75rem; }

.tool-result { display: grid; align-content: center; gap: .4rem; min-width: 0; padding: 1rem; border-top: 1px solid rgba(167, 214, 232, .1); background: linear-gradient(145deg, rgba(106, 225, 255, .07), rgba(255, 159, 90, .04)); }
.tool-card__body--split .tool-result { border-top: 0; border-left: 1px solid rgba(167, 214, 232, .1); }
.tool-result > span { color: var(--muted); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.tool-result strong { overflow-wrap: anywhere; color: #fff; font: 700 clamp(1.45rem, 3vw, 2.1rem)/1.05 "Space Grotesk", sans-serif; }
.tool-result p { margin: .2rem 0 0; color: var(--muted); font-size: .84rem; }
.map-link {
  justify-self: start;
  margin-top: .35rem;
  border: 1px solid rgba(106, 225, 255, .35);
  border-radius: 6px;
  padding: .48rem .72rem;
  color: var(--text);
  background: rgba(106, 225, 255, .08);
  font-weight: 700;
  text-decoration: none;
}
.map-link:hover,
.map-link:focus-visible { color: #061118; background: var(--accent); }

.repeater-finder-card { grid-template-columns: minmax(0, 1fr); }
.repeater-finder-card > .tool-form,
.repeater-finder-card > .system-finder-output { grid-column: 1 / -1; }
.system-finder-form { border-bottom: 1px solid rgba(167, 214, 232, .1); }
.system-finder-fields { grid-template-columns: minmax(13rem, 1.5fr) minmax(9rem, .7fr) minmax(9rem, .7fr) auto; align-items: end; }
.system-finder-fields .tool-action { min-width: 13rem; }
.system-finder-output { min-width: 0; }
.system-finder-empty { padding: 1.25rem 1rem; color: var(--muted); }
.system-finder-empty strong { color: var(--text); font: 700 1.05rem/1.2 "Space Grotesk", sans-serif; }
.system-finder-empty p { margin: .35rem 0 0; }
.system-finder-summary { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: .85rem 1rem; background: rgba(106, 225, 255, .06); }
.system-finder-summary strong { color: #fff; font: 700 1.05rem/1.2 "Space Grotesk", sans-serif; }
.system-finder-summary p { margin: .2rem 0 0; color: var(--muted); font-size: .82rem; }
.system-results { border-top: 1px solid rgba(167, 214, 232, .1); }
.system-row { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 2.2fr); gap: 1rem; padding: 1rem; border-bottom: 1px solid rgba(167, 214, 232, .1); }
.system-row:last-child { border-bottom: 0; }
.system-row:hover { background: rgba(106, 225, 255, .035); }
.system-row__identity { min-width: 0; }
.system-row__callsign { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.system-row__callsign strong { color: #fff; font: 700 1.2rem/1.1 "Space Grotesk", sans-serif; }
.system-row__distance { display: inline-flex; border-radius: 999px; padding: .2rem .55rem; color: #07141b; background: var(--accent); font-size: .76rem; font-weight: 700; }
.system-row__identity p { margin: .35rem 0 0; color: var(--muted); font-size: .86rem; }
.system-status { display: inline-flex; margin-top: .55rem; border-radius: 999px; padding: .2rem .55rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.system-status--operational { color: #a9ffd0; background: rgba(42, 190, 108, .14); }
.system-status--limited { color: #ffe0a8; background: rgba(255, 188, 84, .14); }
.system-status--offline { color: #ffc1c1; background: rgba(238, 75, 75, .14); }
.system-row__details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem .85rem; min-width: 0; }
.system-detail { min-width: 0; }
.system-detail span { display: block; color: var(--muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.system-detail b { display: block; margin-top: .15rem; overflow-wrap: anywhere; color: var(--text); font-size: .84rem; font-weight: 600; }
.system-detail--wide { grid-column: span 2; }
.system-mode-list { display: flex; gap: .3rem; flex-wrap: wrap; margin-top: .2rem; }
.system-mode { display: inline-flex; border: 1px solid rgba(106, 225, 255, .24); border-radius: 4px; padding: .18rem .4rem; color: #d9faff; background: rgba(106, 225, 255, .07); font-size: .72rem; font-weight: 700; }
.system-pagination { display: flex; gap: .7rem; align-items: center; justify-content: center; padding: .9rem 1rem; border-top: 1px solid rgba(167, 214, 232, .1); }
.system-pagination button { min-height: 2.35rem; border: 1px solid rgba(106, 225, 255, .28); border-radius: 6px; padding: .45rem .75rem; color: var(--text); background: rgba(106, 225, 255, .07); font-weight: 700; cursor: pointer; }
.system-pagination button:hover,
.system-pagination button:focus-visible { color: #061118; background: var(--accent); }
.system-pagination button:disabled { opacity: .35; cursor: default; }
.system-pagination span { color: var(--muted); font-size: .82rem; }

.table-scroll { overflow-x: auto; }
.coax-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.coax-table th, .coax-table td { padding: .68rem .85rem; border-top: 1px solid rgba(167, 214, 232, .1); text-align: left; white-space: nowrap; }
.coax-table thead th { color: var(--muted); font-size: .72rem; text-transform: uppercase; }
.coax-table tr.is-selected { background: rgba(106, 225, 255, .08); }
.loss-rating { display: inline-flex; border-radius: 999px; padding: .16rem .5rem; font-size: .74rem; font-weight: 700; }
.loss-rating--excellent { color: #a9ffd0; background: rgba(42, 190, 108, .14); }
.loss-rating--good { color: #ccf8ff; background: rgba(106, 225, 255, .12); }
.loss-rating--usable { color: #ffe0a8; background: rgba(255, 188, 84, .14); }
.loss-rating--high { color: #ffc1c1; background: rgba(238, 75, 75, .14); }

.calculator-disclaimer { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: baseline; padding: 1rem 0; border-top: 1px solid var(--border); color: var(--muted); }
.calculator-disclaimer strong { color: var(--text); }
.calculator-disclaimer p { margin: 0; }
.no-tool-results { grid-column: 1 / -1; padding: 2rem; border: 1px dashed var(--border); border-radius: 8px; text-align: center; color: var(--muted); }

@media (max-width: 900px) {
  .tool-finder { position: static; grid-template-columns: 1fr; align-items: stretch; }
  .tool-count { margin: 0; }
  .tool-view-status { grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
  .system-finder-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .system-finder-fields .tool-action { min-width: 0; }
  .system-row__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .tool-card-grid, .tool-card, .tool-card__body--split { grid-template-columns: 1fr; }
  .tool-card--wide { grid-column: auto; }
  .tool-card > .tool-form,
  .tool-card > .tool-result,
  .tool-card > .tool-card__body,
  .tool-card > .table-scroll { grid-column: 1; }
  .tool-card > .tool-result { border-top: 1px solid rgba(167, 214, 232, .1); border-left: 0; }
  .tool-card__body--split .tool-result { border-top: 1px solid rgba(167, 214, 232, .1); border-left: 0; }
  .tool-section__heading { display: grid; gap: .2rem; }
  .tool-section__heading span { justify-self: start; }
  .system-row { grid-template-columns: 1fr; }
  .system-finder-summary { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 470px) {
  .tool-fields--2 { grid-template-columns: 1fr; }
  .system-finder-fields,
  .system-row__details { grid-template-columns: 1fr; }
  .system-detail--wide { grid-column: auto; }
  .tool-finder { margin-inline: -.25rem; }
  .tool-view-status { grid-template-columns: 1fr; }
  .tool-card > header { align-items: flex-start; }
  .calculator-disclaimer { grid-template-columns: 1fr; gap: .25rem; }
}
