/* Compact right-rail legislative watch: proposals are not catalogue records. */
.results-panel .budget-watch {
  position: relative;
  z-index: 12;
  flex-shrink: 0;
  margin: 11px 21px 5px;
  color: #7e2633;
}
.budget-watch summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #fff3f4;
  border: 1px solid #e8b2b9;
  border-left: 3px solid #b12f3d;
  border-radius: 8px;
  cursor: pointer;
  list-style: none;
  min-height: 50px;
}
.budget-watch summary::-webkit-details-marker { display: none; }
.budget-watch summary:focus-visible { outline: 3px solid #cf7580; outline-offset: 3px; }
.budget-watch summary:hover, .budget-watch[open] summary { background: #ffe7e9; }
.budget-watch-mini { display: flex; flex-direction: column; gap: 3px; }
.budget-watch-mini b { color: #932b38; font-size: 11px; letter-spacing: .9px; }
.budget-watch-mini small { color: #a35862; font-size: 10px; }
.budget-watch-open { color: #9d3947; white-space: nowrap; font-size: 10px; font-weight: 800; }
.budget-watch-open span { display: inline-block; margin-left: 3px; transition: transform .15s ease; }
.budget-watch[open] .budget-watch-open span { transform: rotate(180deg); }
.budget-watch-popover {
  position: absolute;
  right: 0;
  top: calc(100% + 7px);
  width: min(390px, calc(100vw - 36px));
  max-height: min(72vh, 710px);
  overflow: auto;
  overscroll-behavior: contain;
  background: #fffaf9;
  border: 1px solid #e7b9c0;
  border-top: 3px solid #b12f3d;
  border-radius: 11px;
  box-shadow: 0 18px 45px #4f243533;
  padding: 15px;
  scrollbar-color: #db9ba4 transparent;
}
.budget-watch-heading { margin-bottom: 12px; }
.budget-watch-label { font-size: 9px; font-weight: 850; color: #ae2e3e; letter-spacing: 1.1px; }
.budget-watch-label span { padding-right: 4px; }
.budget-watch-heading h3 { color: #67232d; font-size: 19px; letter-spacing: -.45px; margin: 6px 0; }
.budget-watch-heading p { font-size: 11px; line-height: 1.5; color: #87515b; margin: 0 0 8px; }
.budget-watch-source { font-size: 10px; color: #8e2937; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.budget-watch-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.budget-watch-item {
  display: grid;
  grid-template-columns: 79px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: 10px;
  background: white;
  border: 1px solid #efd1d5;
  border-left: 3px solid #c04d5b;
  border-radius: 8px;
  padding: 10px;
  min-width: 0;
}
.budget-watch-status {
  grid-column: 1 / 3;
  display: inline-block;
  width: max-content;
  color: #a22b3a;
  background: #ffedef;
  border-radius: 3px;
  padding: 3px 5px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .6px;
  margin-bottom: 6px;
}
.budget-watch-item > strong {
  grid-column: 1;
  grid-row: 2 / 4;
  align-self: start;
  font-size: 23px;
  font-weight: 760;
  line-height: 1.14;
  color: #b12f3d;
  letter-spacing: -.8px;
}
.budget-watch-item h4 { grid-column: 2; grid-row: 2; font-size: 11px; line-height: 1.25; color: #5e2530; margin: 1px 0 4px; }
.budget-watch-item p { grid-column: 2; grid-row: 3; font-size: 10px; line-height: 1.45; color: #81525b; margin: 0; }
.budget-watch-item a, .budget-watch-disclaimer a { color: #982d3a; text-decoration: underline; text-underline-offset: 2px; }
.budget-watch-disclaimer {
  margin: 12px 0 0;
  padding: 10px;
  background: #fae6e9;
  border: 1px solid #edc0c6;
  border-radius: 7px;
  color: #78323e;
  font-size: 10px;
  line-height: 1.55;
}
.budget-watch-disclaimer strong { color: #a32132; }
.tax-budget-link {
  display: block;
  margin-top: 12px;
  padding: 10px 12px;
  background: #fff0f1;
  border: 1px solid #efb7bf;
  border-radius: 8px;
  color: #9b2635;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}
.tax-budget-link:hover { background: #ffe3e6; }
@media (max-width: 700px) {
  .results-panel .budget-watch { margin: 10px 18px 3px; }
  .budget-watch-popover { width: min(380px, calc(100vw - 36px)); }
}
