/* Fiscal note section on the bill page (js/bill-money.js). Colors match the bp- bill page.
   Money in = blue, money out = orange (not green/red, which mean support/oppose on this site). */
#billMoney { scroll-margin-top: 90px; display: grid; gap: 16px; }
#billMoney.hidden { display: none; }
.bm-head { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; justify-content: space-between; }
.bm-head .bp-h2 { margin: 0; }
.bm-years { display: inline-flex; border: 1px solid #d2d8df; border-radius: 8px; overflow: hidden; }
.bm-years button { font: inherit; font-size: 14px; font-weight: 600; padding: 6px 11px; border: 0; background: #fff; color: #3a4654; cursor: pointer; font-variant-numeric: tabular-nums; }
.bm-years button + button { border-left: 1px solid #d2d8df; }
.bm-years button[aria-pressed="true"] { background: #1e3a5f; color: #fff; }
.bm-years button:focus-visible, .bm-row:focus-visible, .bm-table summary:focus-visible { outline: 3px solid #d8a62a; outline-offset: 2px; }
.bm-frame { margin: 0; font-size: 14px; color: #3a4654; max-width: 75ch; }
.bm-headline { display: grid; gap: 6px; padding: 14px 16px; border-radius: 8px; background: #fbf3df; border-left: 4px solid #d8a62a; }
.bm-headline p { margin: 0; font-size: 14px; color: #3a4654; }
.bm-big { font-size: 22px; font-weight: 800; line-height: 1.2; color: #15202c; font-variant-numeric: tabular-nums; text-wrap: balance; }
.bm-buys { color: #15202c !important; font-size: 15px !important; }
.bm-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; font-size: 13px; color: #566271; }
.bm-meta b { color: #15202c; font-variant-numeric: tabular-nums; }
.bm-chip { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #1e3a5f; background: #fff; border: 1px solid #d2d8df; border-radius: 99px; padding: 1px 9px; }
.bm-sec { display: grid; gap: 6px; }
.bm-sec h3 { margin: 0; font-size: 15px; font-weight: 700; color: #15202c; display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.bm-sec h3 span { font-size: 13px; font-weight: 500; color: #566271; }
.bm-rows { display: grid; gap: 2px; }
.bm-row { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) 5.5rem; gap: 10px; align-items: center; padding: 5px 4px; border-radius: 6px; }
.bm-row:hover { background: #f3f5f7; }
.bm-lab { font-size: 14px; color: #15202c; min-width: 0; overflow-wrap: anywhere; }
.bm-lab small { display: block; font-size: 12px; color: #566271; }
.bm-track { position: relative; height: 18px; }
.bm-zero { position: absolute; top: -3px; bottom: -3px; width: 1px; background: #8a96a3; }
.bm-bar { position: absolute; top: 2px; height: 14px; }
.bm-bar.pos { border-radius: 0 4px 4px 0; } .bm-bar.neg { border-radius: 4px 0 0 4px; }
.bm-bar.in { background: #2c6e9b; } .bm-bar.out { background: #c2571a; }
.bm-bar.once, .bm-sw.once { background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.55) 0 3px, transparent 3px 7px); }
.bm-val { text-align: right; font-size: 14px; font-weight: 600; color: #15202c; font-variant-numeric: tabular-nums; }
.bm-none { margin: 0; font-size: 14px; color: #566271; padding: 2px 4px; }
.bm-key { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: #566271; align-items: center; }
.bm-sw { display: inline-block; width: 14px; height: 10px; border-radius: 2px; vertical-align: -1px; margin-right: 5px; }
.bm-sw.in { background-color: #2c6e9b; } .bm-sw.out { background-color: #c2571a; } .bm-sw.once { background-color: #566271; }
.bm-others { margin: 0; display: grid; gap: 10px; border-top: 1px solid #e3e7ec; padding-top: 14px; }
.bm-others > div { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 10px; font-size: 14px; }
.bm-others dt { font-weight: 700; color: #15202c; }
.bm-others dd { margin: 0; color: #3a4654; display: grid; gap: 6px; }
.bm-others dd p, .bm-headline p { max-width: 75ch; margin: 0; }
.bm-table summary { cursor: pointer; font-weight: 600; color: #1e3a5f; font-size: 14px; }
.bm-tablewrap { overflow-x: auto; margin-top: 10px; }
.bm-table table { border-collapse: collapse; font-size: 13px; width: 100%; font-variant-numeric: tabular-nums; }
.bm-table th, .bm-table td { padding: 6px 8px; border-bottom: 1px solid #e3e7ec; text-align: right; white-space: nowrap; }
.bm-table th:first-child, .bm-table td:first-child { text-align: left; white-space: normal; }
.bm-table thead th { color: #566271; font-weight: 600; }
.bm-table tr.bm-total td { font-weight: 700; }
.bm-foot { margin: 0; font-size: 13px; color: #566271; }
.bm-foot a { color: #1e3a5f; font-weight: 600; text-decoration: underline; }
@media (max-width: 560px) {
  .bm-row { grid-template-columns: minmax(0, 1fr) 5rem; }
  .bm-row .bm-track { grid-column: 1 / -1; grid-row: 2; }
  .bm-others > div { grid-template-columns: 1fr; gap: 2px; }
  .bm-big { font-size: 19px; }
}
@media (prefers-reduced-motion: no-preference) { .bm-bar { transition: left .25s, width .25s; } }
