/* CCA bill check (site/build_cca_bill.py), linked from those pages only as cca-money/my-bill/cca-bill.css?v=<hash>
   (same reason as cca-money.css: a new file name reaches visitors at once, style.css is cached for a day). */
.beta { display: inline-block; font: 700 .7rem/1 var(--ui); letter-spacing: .08em; text-transform: uppercase; padding: 4px 7px;
  border-radius: 4px; background: var(--gold-soft); color: var(--gold); vertical-align: middle; margin-left: 6px; }
.calc { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 12px 18px; align-items: end; margin: 18px 0 10px; }
.calc label, .calc fieldset { display: flex; flex-direction: column; gap: 5px; font-size: .85rem; font-weight: 600; color: var(--muted); min-width: 0; }
.calc select, .calc input[type=number] { font: 500 1rem var(--ui); color: var(--ink); background: var(--paper); border: 1px solid var(--rule);
  border-radius: 6px; padding: 9px 10px; min-width: 0; width: 100%; }
.calc fieldset { border: 0; margin: 0; padding: 0; }
.calc fieldset legend { padding: 0; margin-bottom: 5px; }
.calc .seg { display: flex; gap: 6px; flex-wrap: wrap; }
.calc .seg label { flex-direction: row; align-items: center; gap: 6px; font: 500 .95rem var(--ui); color: var(--ink); border: 1px solid var(--rule);
  border-radius: 6px; padding: 8px 10px; background: var(--paper); cursor: pointer; }
.calc .seg input:disabled + span { color: var(--muted); text-decoration: line-through; }
.calc small { font-weight: 400; color: var(--muted); }
.bill-out { margin: 6px 0 8px; }
.bill-out .headline { font: 600 1.08rem/1.45 var(--ui); max-width: 48rem; margin: 6px 0 14px; }
.bill-out table td:first-child { min-width: 9rem; }
.bill-out tr.is-default td { background: var(--navy-soft); }
.bill-out tr.is-utility td { color: var(--muted); }
.tag { display: inline-block; font: 600 .68rem/1 var(--ui); letter-spacing: .05em; text-transform: uppercase; padding: 3px 6px; border-radius: 4px;
  background: var(--navy); color: var(--sheet); margin-left: 4px; white-space: nowrap; }
.why { max-width: 48rem; font-size: .93rem; }
.why .mono { white-space: nowrap; }
.opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 14px; margin-top: 8px; }
.opts .panel p { margin: 0 0 8px; font-size: .92rem; }
.opts .panel h3 { margin: 0 0 8px; font-size: 1rem; }
.opts blockquote { margin: 6px 0 8px; padding: 6px 10px; border-left: 3px solid var(--rule); color: var(--muted); font-size: .88rem; }
.finder { display: flex; gap: 8px; max-width: 28rem; margin: 12px 0 6px; }
.finder input { flex: 1; min-width: 0; font: inherit; padding: 9px 12px; border: 1px solid var(--rule); border-radius: 6px; background: var(--paper); color: var(--ink); }
.finder-list { list-style: none; padding: 0; margin: 8px 0 0; columns: 3 12rem; column-gap: 24px; font-size: .92rem; }
.finder-list li { padding: 3px 0; break-inside: avoid; }
.finder-list .lede { font-size: .8rem; }
.plans td, .plans th { white-space: nowrap; }
.plans td.pl { white-space: normal; min-width: 11rem; }
@media (max-width: 560px) {
  .calc { grid-template-columns: 1fr; }
  .bill-out table { font-size: .85rem; }
  .bill-out th, .bill-out td { padding: 7px 6px; }
}
[hidden] { display: none !important; }
.plans td.pl { min-width: 9rem; }
