/* Jardín Central · v617. Finance surfaces are scoped to their own roots. */
.jcFinanceV617,
.jcTransparencyFinanceV617 {
  --jc-finance-ink: #173e35;
  --jc-finance-muted: #526d63;
  --jc-finance-green: #075e54;
  --jc-finance-line: #d9e3d7;
  --jc-finance-paper: #fffef9;
  --jc-finance-cream: #f7f7ee;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  color: var(--jc-finance-ink);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.jcFinanceV617 *,
.jcTransparencyFinanceV617 * { box-sizing: border-box; }
.jcFinanceV617 [hidden],
.jcTransparencyFinanceV617 [hidden] { display: none !important; }
.jcFinanceV617 { display: grid; gap: 16px; }
.jcFinanceV617 [data-finance-workspace-v617] { display: grid; gap: 16px; min-width: 0; }
.jcFinanceV617 [data-finance-forms-v617] { display: grid; gap: 12px; min-width: 0; }
.jcFinanceV617 [data-finance-tower-box-v617]:empty { display: none; }
.jcTransparencyFinanceV617 {
  display: grid;
  gap: 20px;
  margin: 0 0 22px;
  padding: clamp(16px, 3vw, 28px);
  border: 1px solid var(--jc-finance-line);
  border-radius: 24px;
  background: linear-gradient(145deg, #fffef9, #f4f8ef);
  box-shadow: 0 10px 30px rgba(25, 67, 48, .045);
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) h2,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) h3,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) h4,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) p { margin: 0; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) h2 {
  color: var(--jc-finance-green);
  font-size: clamp(22px, 3vw, 28px);
  line-height: 1.15;
  letter-spacing: -.035em;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) h3 {
  color: var(--jc-finance-ink);
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: -.015em;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) button,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) input,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) select,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) textarea { font: inherit; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
  min-height: 42px;
  max-width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--jc-finance-line);
  border-radius: 12px;
  background: var(--jc-finance-paper);
  color: var(--jc-finance-green);
  font-weight: 750;
  line-height: 1.3;
  white-space: normal;
  cursor: pointer;
  touch-action: manipulation;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) button:hover:not(:disabled) {
  border-color: #8eae98;
  background: #eef5e9;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) button[type="submit"] {
  border-color: var(--jc-finance-green);
  background: var(--jc-finance-green);
  color: #fffef9;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) button[type="submit"]:hover:not(:disabled) {
  border-color: #064e46;
  background: #064e46;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) button:disabled { opacity: .5; cursor: default; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) a { color: var(--jc-finance-green); text-underline-offset: 3px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #087765;
  outline-offset: 3px;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceHeaderV617 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceHeaderV617 > div { min-width: 0; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceHeaderV617 h3 { margin-top: 3px; color: var(--jc-finance-green); font-size: 23px; letter-spacing: -.03em; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceHeaderV617 small { color: var(--jc-finance-muted); font-size: 11px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceHeaderV617 p { margin-top: 6px; color: var(--jc-finance-muted); }
.jcFinanceV617 .jcFinanceTowerV617 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  color: var(--jc-finance-muted);
}
.jcFinanceV617 .jcFinanceTowerV617 strong { color: var(--jc-finance-green); }
.jcFinanceV617 .jcFinanceTowerV617 button { min-height: 36px; padding: 7px 10px; font-size: 12px; }
.jcFinanceV617 .jcFinanceTabsV617 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 5px;
  border: 1px solid var(--jc-finance-line);
  border-radius: 15px;
  background: #eef2e8;
}
.jcFinanceV617 .jcFinanceTabsV617 button { border-color: transparent; background: transparent; }
.jcFinanceV617 .jcFinanceTabsV617 button.active,
.jcFinanceV617 .jcFinanceTabsV617 button[aria-selected="true"] {
  border-color: #d0ddd0;
  background: var(--jc-finance-paper);
  color: var(--jc-finance-green);
  box-shadow: 0 2px 5px rgba(24, 61, 44, .06);
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceTotalsV617 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceTotalsV617 article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 5px;
  min-width: 0;
  padding: 15px 13px;
  border: 1px solid var(--jc-finance-line);
  border-radius: 16px;
  background: var(--jc-finance-paper);
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceTotalsV617 article:first-of-type {
  border-color: #bad1b8;
  background: #eaf2e3;
}
.jcFinanceV617 .jcFinanceTotalLabelV617 { grid-column: 1 / -1; color: var(--jc-finance-muted); font-size: 12px; font-weight: 700; }
.jcFinanceV617 .jcFinanceTotalsV617 .jcFinanceEmptyV617 { grid-column: 1 / -1; padding: 10px 12px; text-align: left; font-size: 12px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceTotalsV617 small { color: var(--jc-finance-muted); font-size: 11px; font-weight: 750; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceTotalsV617 strong {
  display: block;
  color: var(--jc-finance-green);
  font-size: clamp(19px, 3.3vw, 26px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceTotalsV617 span { color: var(--jc-finance-muted); font-size: 11px; }
.jcFinanceV617 .jcFinanceFiltersV617,
.jcTransparencyFinanceV617 .jcFinancePublicFiltersV617 {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 9px;
  min-width: 0;
}
.jcFinanceV617 .jcFinanceFiltersV617 button { flex: 1 1 auto; min-height: 38px; padding: 8px 10px; font-size: 12px; }
.jcFinanceV617 .jcFinanceFiltersV617 button.active,
.jcFinanceV617 .jcFinanceFiltersV617 button[aria-pressed="true"] { border-color: #b0c9b0; background: #eaf2e3; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) label { display: grid; gap: 6px; min-width: 0; color: var(--jc-finance-ink); font-size: 12px; font-weight: 700; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) :is(input, select, textarea) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px 11px;
  border: 1px solid #bccfbf;
  border-radius: 10px;
  background: #fffefb;
  color: var(--jc-finance-ink);
  line-height: 1.4;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) textarea { min-height: 80px; resize: vertical; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) input::placeholder,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) textarea::placeholder { color: #6b7d70; opacity: 1; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) input[type="checkbox"],
:is(.jcFinanceV617, .jcTransparencyFinanceV617) input[type="radio"] { width: 18px; height: 18px; min-height: 18px; accent-color: var(--jc-finance-green); }
.jcFinanceV617 input[type="file"] { padding: 8px; font-size: 12px; font-weight: 500; }
.jcFinanceV617 input[type="file"]::file-selector-button {
  margin-right: 9px;
  padding: 8px;
  border: 0;
  border-radius: 7px;
  background: #eaf2e3;
  color: var(--jc-finance-green);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.jcFinanceV617 .jcFinanceListV617 { display: grid; gap: 10px; min-width: 0; }
.jcFinanceV617 .jcFinanceReceiptV617 {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--jc-finance-line);
  border-radius: 16px;
  background: var(--jc-finance-paper);
}
.jcFinanceV617 .jcFinanceReceiptHeadV617 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}
.jcFinanceV617 .jcFinanceReceiptHeadV617 > div { min-width: 0; }
.jcFinanceV617 .jcFinanceReceiptHeadV617 strong { color: var(--jc-finance-green); font-size: 19px; line-height: 1.25; font-variant-numeric: tabular-nums; }
.jcFinanceV617 .jcFinanceReceiptMetaV617 { color: var(--jc-finance-muted); font-size: 12px; line-height: 1.7; }
.jcFinanceV617 .jcFinanceReceiptMetaV617 > * { min-width: 0; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceChipV617 {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid #d1dcca;
  border-radius: 999px;
  background: #eff3e9;
  color: #3c5f40;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceChipV617.pending { border-color: #e4d5aa; background: #fcf5df; color: #796019; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceChipV617.reconciled { border-color: #b9d4bb; background: #e8f3e5; color: #295e39; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceChipV617.rejected { border-color: #e8c9bc; background: #fff0e8; color: #99452d; }
.jcFinanceV617 .jcFinanceActionsV617 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.jcFinanceV617 .jcFinanceActionsV617 a { display: inline-flex; align-items: center; min-height: 38px; font-weight: 700; }
.jcFinanceV617 .jcFinanceActionsV617 button { min-height: 38px; padding: 8px 11px; font-size: 12px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePaginationV617 { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePaginationV617 span { color: var(--jc-finance-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.jcFinanceV617 .jcFinanceFormV617 {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jc-finance-line);
  border-radius: 17px;
  background: var(--jc-finance-cream);
}
.jcFinanceV617 .jcFinanceFormV617 form { display: grid; gap: 12px; min-width: 0; margin: 0; }
.jcFinanceV617 .jcFinanceFormV617 fieldset { display: grid; gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.jcFinanceV617 .jcFinanceFormV617 legend { max-width: 100%; margin-bottom: 10px; padding: 0; font-weight: 750; }
.jcFinanceV617 .jcFinanceFormV617 > p,
.jcFinanceV617 .jcFinanceFormV617 small { color: var(--jc-finance-muted); font-size: 12px; font-weight: 450; }
.jcFinanceV617 .jcFinanceFormV617 summary { padding: 2px 0; color: var(--jc-finance-green); font-weight: 750; cursor: pointer; }
.jcFinanceV617 .jcFinanceFormV617[open] > summary,
.jcFinanceV617 .jcFinanceFormV617 details[open] > summary { margin-bottom: 12px; }
.jcFinanceV617 .jcFinanceReceiptV617 .jcFinanceFormV617 { padding: 12px; border-radius: 12px; }
.jcFinanceV617 .jcFinanceGridV617 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceLiveV617 {
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #bed3be;
  border-radius: 12px;
  background: #edf5e7;
  color: #2f5b3c;
  font-size: 12px;
  line-height: 1.5;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceLiveV617:empty { display: none; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceLiveV617.error { border-color: #e7c9bb; background: #fff1e9; color: #8e402e; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinanceEmptyV617 {
  padding: 26px 18px;
  border: 1px dashed #c7d7c6;
  border-radius: 15px;
  background: #fbfcf5;
  color: var(--jc-finance-muted);
  text-align: center;
}
.jcFinanceV617 .jcFinanceGateV617 {
  display: grid;
  gap: 12px;
  padding: 22px 18px;
  border: 1px solid var(--jc-finance-line);
  border-radius: 18px;
  background: var(--jc-finance-cream);
}
.jcFinanceV617 .jcFinanceGateV617 p { color: var(--jc-finance-muted); }
.jcFinanceV617 .jcFinanceGateV617 > button { width: 100%; }
.jcFinanceV617 .jcFinanceLegacyV617,
.jcPaymentScreenHostV616 > .jcFinanceLegacyV617 {
  min-width: 0;
  margin-top: 8px;
  padding: 13px 0 0;
  border-top: 1px solid #dde6d9;
  color: #526d63;
}
.jcFinanceV617 .jcFinanceLegacyV617 > summary,
.jcPaymentScreenHostV616 > .jcFinanceLegacyV617 > summary {
  padding: 8px 0;
  color: #075e54;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.jcFinanceV617 .jcFinanceLegacyV617[open] > summary,
.jcPaymentScreenHostV616 > .jcFinanceLegacyV617[open] > summary { margin-bottom: 10px; }
.jcPaymentScreenHostV616 > .jcFinanceLegacyV617 > summary:focus-visible { outline: 3px solid #087765; outline-offset: 3px; }
.jcTransparencyFinanceV617 .jcFinancePublicFiltersV617 label { flex: 1 1 150px; max-width: 240px; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 {
  max-width: 100%;
  min-width: 0;
  overflow: visible;
  border: 1px solid var(--jc-finance-line);
  border-radius: 15px;
  background: var(--jc-finance-paper);
  -webkit-overflow-scrolling: touch;
}
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 table { width: 100%; min-width: 0; table-layout: fixed; margin: 0; border-collapse: collapse; font-size: 12px; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 caption { padding: 13px 15px; color: var(--jc-finance-ink); font-weight: 750; text-align: left; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 th,
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 td { padding: 12px 14px; border-bottom: 1px solid #e5eadf; text-align: left; vertical-align: middle; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 th { background: #edf2e7; color: #42654c; font-size: 11px; font-weight: 750; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 td { color: var(--jc-finance-ink); font-variant-numeric: tabular-nums; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 tr:last-child td { border-bottom: 0; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 th:not(:first-child),
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 td:not(:first-child) { white-space: normal; overflow-wrap: anywhere; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 tbody tr:hover { background: #f7faf1; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 tfoot { background: #edf2e7; font-weight: 750; }
.jcTransparencyFinanceV617 .jcFinancePublicNoteV617 { color: var(--jc-finance-muted); font-size: 12px; }
/* Retain v616 node ownership and keep provider content subordinate to receipts. */
body.jcPaymentsPanelOpenV616 #jcPaymentTowerHostV616 { padding-bottom: 0; margin-bottom: 16px; border-bottom: 0; }
body.jcPaymentsPanelOpenV616 #receiptCenterV604 { display: none !important; }
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .jcFinanceLegacyV617 > #pagos {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .paymentsHeroV568 {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px;
  border-radius: 15px;
  background: #f7f9f1;
  box-shadow: none;
}
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .paymentsHeroV568 > img { width: 44px; height: 44px; border-radius: 10px; box-shadow: none; }
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .paymentsHeroV568 h2 { margin: 3px 0; font-size: 20px; }
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .paymentsHeroV568 p { font-size: 12px; }
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .paymentsSecurityV568 { gap: 5px; }
body.jcPaymentsPanelOpenV616 .jcPaymentScreenHostV616 .paymentsSecurityV568 span { min-height: 26px; padding: 5px 8px; font-size: 10px; }
@media (min-width: 760px) {
  .jcTransparencyFinanceV617 .jcFinanceTotalsV617 { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); }
}
@media (max-width: 480px) {
  :is(.jcFinanceV617, .jcTransparencyFinanceV617) input,
  :is(.jcFinanceV617, .jcTransparencyFinanceV617) select,
  :is(.jcFinanceV617, .jcTransparencyFinanceV617) textarea { font-size: 16px; }
  .jcFinanceV617 .jcFinanceGridV617 { grid-template-columns: minmax(0, 1fr); }
  .jcTransparencyFinanceV617 { padding: 15px; border-radius: 18px; }
  .jcTransparencyFinanceV617 .jcFinancePublicFiltersV617 label { flex-basis: 100%; max-width: none; }
  .jcTransparencyFinanceV617 .jcFinancePublicFiltersV617 > button { width: 100%; }
  .jcFinanceV617 .jcFinanceFormV617 { padding: 13px; }
}
@media (max-width: 360px) {
  .jcFinanceV617 .jcFinanceReceiptV617 { padding: 12px; }
  .jcFinanceV617 .jcFinanceTabsV617 button { padding: 10px 6px; font-size: 12px; }
}

/* The sidebar controller must authorize any direct legacy screen activation. */
body:not(.jcPaymentsPanelOpenV616) #pagos{display:none!important}

/* v618: two receipt totals, fixed tariff and verified payment distinctions. */
.jcFinanceV617 .jcFinanceTotalsV617 article:first-of-type { grid-column: auto; }
.jcFinanceV617 .jcFinanceTotalsV617 .jcFinancePossibleV618 { grid-column: 1 / -1; background: #f3f6ed; }
.jcFinanceV617 input[readonly] { background: #eef3e8; color: #173e35; -webkit-text-fill-color: #173e35; opacity: 1; border-color: #c5d6c2; font-weight: 750; font-variant-numeric: tabular-nums; }
.jcFinanceV617 [data-finance-badges-v618]:empty,
.jcFinanceV617 [data-finance-period-help-v618]:empty { display: none; }
.jcFinanceV617 .jcFinanceBadgeBoxV618 { display: grid; gap: 7px; padding: 16px; border: 1px solid #bbd5ba; border-radius: 16px; background: #edf6e7; color: #28583a; }
.jcFinanceV617 .jcFinanceBadgeBoxV618.annual { border-color: #d4b555; background: linear-gradient(120deg, #fff9df, #fbefba); color: #695010; }
.jcFinanceV617 .jcFinanceBadgeBoxV618 strong { font-size: 15px; }
.jcFinanceV617 .jcFinanceBadgeBoxV618 span { font-size: 12px; }
.jcFinanceV617 .jcFinanceBadgeBoxV618 a { width: fit-content; min-height: 36px; padding: 6px 0; font-weight: 750; }
.jcFinanceV617 .jcFinanceFiltersV617 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.jcFinanceV617 [data-finance-annual-v618] { width: 100%; }

.jcFinanceV617 .jcFinanceTowerPeriodV618 { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.jcFinanceV617 .jcFinanceTowerPeriodV618 label { flex: 1 1 160px; }
.jcFinanceV617 .jcFinanceTowerPeriodV618 button { flex: 0 1 auto; }

/* v619: separate monthly targets for the tower and the whole condominium. */
.jcFinanceV617 .jcFinanceScopeV619 { padding-bottom: 14px; border-bottom: 1px solid var(--jc-finance-line); }
.jcFinanceV617 .jcFinanceScopeV619 h4 { color: var(--jc-finance-green); font-size: 13px; }

/* v620: the existing transparent illustrations identify each payment task. */
.jcTowerLaunchIconV620 {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  background: transparent;
}
.jcTowerLaunchIconV620 > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 400px) {
  .jcTowerLaunchIconV620 { width: 54px; height: 54px; }
}
.jcFinanceV617 .jcFinanceVisualV620 {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
  max-width: 100%;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.jcFinanceV617 .jcFinanceHeadingV620,
.jcFinanceV617 .jcFinanceTowerIdentityV620,
.jcFinanceV617 .jcFinanceScopeTitleV620,
.jcFinanceV617 .jcFinanceCardTitleV620 {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.jcFinanceV617 .jcFinanceHeadingV620 > div { min-width: 0; }
.jcFinanceV617 .jcFinanceHeadingV620 { flex: 1 1 180px; }
.jcFinanceV617 .jcFinanceHeaderV617 { align-items: center; }
.jcFinanceV617 .jcFinanceTowerIdentityV620 { font-size: 15px; }
.jcFinanceV617 .jcFinanceTowerV617 > small { flex: 1 1 160px; }
.jcFinanceV617 .jcFinanceScopeTitleV620 { line-height: 1.4; }
.jcFinanceV617 .jcFinanceScopeTitleV620 > span { color: inherit; font-size: inherit; }
.jcFinanceV617 .jcFinanceCardTitleV620 { line-height: 1.35; }
.jcFinanceV617 .jcFinanceCardTitleV620 > span { min-width: 0; }
.jcFinanceV617 .jcFinanceUploadTitleV620 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  vertical-align: middle;
  max-width: calc(100% - 18px);
}
.jcFinanceV617 .jcFinanceCondominiumVisualV620 {
  display: flex;
  align-items: flex-end;
  flex: 0 0 52px;
  width: 52px;
  height: 40px;
}
.jcFinanceV617 .jcFinanceCondominiumVisualV620 img + img { margin-left: -24px; }
.jcFinanceV617 .jcFinanceCondominiumVisualV620 img:nth-child(2) { position: relative; z-index: 1; }
.jcFinanceV617 [data-finance-tower-v617] { justify-content: flex-start; text-align: left; }
@media (max-width: 360px) {
  .jcFinanceV617 .jcFinanceHeadingV620 { flex-basis: 145px; gap: 7px; }
  .jcFinanceV617 .jcFinanceHeadingV620 > img { width: 42px; height: 42px; }
  .jcFinanceV617 .jcFinanceHeaderV617 > button { padding-inline: 10px; }
}

/* v621: collapsible scopes and two receipt columns at every phone width. */
.jcFinanceV617 .jcFinanceSectionV621 {
  min-width: 0;
  border: 1px solid var(--jc-finance-line);
  border-radius: 17px;
  background: #f8faf5;
}
.jcFinanceV617 .jcFinanceSectionV621 > summary {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 58px;
  padding: 10px 13px;
  color: var(--jc-finance-green);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
  list-style: none;
  cursor: pointer;
}
.jcFinanceV617 .jcFinanceSectionV621 > summary::-webkit-details-marker { display: none; }
.jcFinanceV617 .jcFinanceSectionV621 > summary::after {
  content: "";
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin: 0 3px 4px auto;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.jcFinanceV617 .jcFinanceSectionV621[open] > summary::after { transform: rotate(225deg); margin-bottom: -4px; }
.jcFinanceV617 .jcFinanceSectionBodyV621 { display: grid; gap: 14px; min-width: 0; padding: 0 12px 13px; }
.jcFinanceV617 .jcFinanceSectionV621:not([open]) > .jcFinanceSectionBodyV621 { display: none; }
.jcFinanceV617 .jcFinanceSectionBodyV621 .jcFinanceScopeV619 { padding-bottom: 0; border-bottom: 0; }
@media (max-width: 480px) {
  .jcFinanceV617 .jcFinanceTotalsV617 { gap: 8px; }
  .jcFinanceV617 .jcFinanceTotalsV617 article { padding: 12px 9px; gap: 7px; border-radius: 14px; }
  .jcFinanceV617 .jcFinanceTotalsV617 strong { font-size: clamp(16px, 4.6vw, 22px); }
  .jcFinanceV617 .jcFinanceCardTitleV620 { flex-direction: column; align-items: flex-start; gap: 6px; }
  .jcFinanceV617 .jcFinanceCardTitleV620 > span { min-height: 2.7em; }
  .jcFinanceV617 .jcFinanceSectionBodyV621 { padding-inline: 9px; }
}

/* v622: compact, explicit month names and independent condominium disclosure. */
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodFieldV622 {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--jc-finance-ink);
  font-size: 12px;
  font-weight: 700;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodV622 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.8ch;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  border: 1px solid #bccfbf;
  border-radius: 10px;
  background: #fffefb;
  font-size: 16px;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodV622 > :is(select, input:not([type="hidden"])) {
  min-width: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  padding: 9px 4px;
  font: inherit;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodV622 > select { padding-left: 9px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodV622 > input[data-finance-year-v622] {
  text-align: center;
  font-variant-numeric: tabular-nums;
  appearance: textfield;
  -moz-appearance: textfield;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) [data-finance-year-v622]::-webkit-inner-spin-button,
:is(.jcFinanceV617, .jcTransparencyFinanceV617) [data-finance-year-v622]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.jcFinanceV617 .jcFinanceTowerPeriodV618 .jcFinancePeriodFieldV622 { flex: 1 1 205px; }
.jcTransparencyFinanceV617 .jcFinancePublicFiltersV617 .jcFinancePeriodFieldV622 { flex: 1 1 205px; max-width: 280px; }
.jcFinanceV617 [data-finance-condominium-section-v622] > summary > span { min-width: 0; }
@media (max-width: 480px) {
  .jcTransparencyFinanceV617 .jcFinancePublicFiltersV617 .jcFinancePeriodFieldV622 { flex-basis: 100%; max-width: none; }
  .jcFinanceV617 .jcFinanceCardTitleV620 > span { min-height: 1.35em; }
}

/* v623: explicit month/year selectors, preserving the hidden YYYY-MM contract. */
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodV622 {
  grid-template-columns: minmax(0, 1.55fr) minmax(82px, 1fr);
  align-items: stretch;
  gap: 8px;
  border: 0;
  background: transparent;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodPartV623 { gap: 4px; }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodPartV623 > span { font-size: 11px; color: var(--jc-finance-muted); }
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodPartV623 > select {
  width: 100%; min-width: 0; min-height: 44px;
  padding: 9px 8px; border: 1px solid #bccfbf; border-radius: 10px;
  background-color: #fffefb; color: var(--jc-finance-ink);
  font: inherit; font-size: 16px; font-weight: 500;
}
:is(.jcFinanceV617, .jcTransparencyFinanceV617) .jcFinancePeriodPartV623 > select:focus-visible { outline: 3px solid #087765; outline-offset: 2px; }
.jcTransparencyFinanceV617 { container-name: jc-finance-report; container-type: inline-size; }
.jcTransparencyFinanceV617 > [data-finance-public-summary-v617],
.jcTransparencyFinanceV617 > [data-finance-public-movements-v617] { min-width: 0; max-width: 100%; }
.jcTransparencyFinanceV617 .jcFinanceCellValueV623 { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.jcTransparencyFinanceV617 .jcFinanceTableWrapV617 :is(th, td) { overflow-wrap: anywhere; }

/* Never shrink text or hide data to make a portrait table fit. */
@media (max-width: 760px) {

  .jcTransparencyFinanceV617 .jcFinanceTableWrapV617 { border: 0; border-radius: 0; background: transparent; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 { display: block; width: 100%; min-width: 0; font-size: 13px; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 caption { display: block; width: 100%; padding: 0 0 12px; font-size: 13px; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 thead {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 :is(tbody, tfoot) { display: grid; gap: 12px; width: 100%; background: transparent; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tfoot { margin-top: 12px; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 :is(tbody, tfoot) > tr {
    display: block; width: 100%; min-width: 0; border: 1px solid var(--jc-finance-line); border-radius: 14px;
    background: var(--jc-finance-paper); padding: 0 12px 4px;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tfoot > tr { background: #edf2e7; border-color: #b7ccb8; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 th[scope="row"] {
    display: block; width: auto; margin: 0 -12px 3px; padding: 12px;
    border-radius: 13px 13px 0 0; font-size: 14px;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 td {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start;
    gap: 12px; width: 100%; min-width: 0; padding: 10px 0; text-align: right;
    white-space: normal; border-bottom: 1px solid #e5eadf;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 td::before {
    content: attr(data-label); min-width: 0; text-align: left; font-size: 12px; font-weight: 650; color: var(--jc-finance-muted);
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tr:last-child td { border-bottom: 1px solid #e5eadf; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tr td:last-child { border-bottom: 0; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 .jcFinanceCellValueV623 { font-weight: 650; }
}
@container jc-finance-report (max-width: 640px) {

  .jcTransparencyFinanceV617 .jcFinanceTableWrapV617 { border: 0; border-radius: 0; background: transparent; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 { display: block; width: 100%; min-width: 0; font-size: 13px; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 caption { display: block; width: 100%; padding: 0 0 12px; font-size: 13px; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 thead {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 :is(tbody, tfoot) { display: grid; gap: 12px; width: 100%; background: transparent; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tfoot { margin-top: 12px; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 :is(tbody, tfoot) > tr {
    display: block; width: 100%; min-width: 0; border: 1px solid var(--jc-finance-line); border-radius: 14px;
    background: var(--jc-finance-paper); padding: 0 12px 4px;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tfoot > tr { background: #edf2e7; border-color: #b7ccb8; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 th[scope="row"] {
    display: block; width: auto; margin: 0 -12px 3px; padding: 12px;
    border-radius: 13px 13px 0 0; font-size: 14px;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 td {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start;
    gap: 12px; width: 100%; min-width: 0; padding: 10px 0; text-align: right;
    white-space: normal; border-bottom: 1px solid #e5eadf;
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 td::before {
    content: attr(data-label); min-width: 0; text-align: left; font-size: 12px; font-weight: 650; color: var(--jc-finance-muted);
  }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tr:last-child td { border-bottom: 1px solid #e5eadf; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 tr td:last-child { border-bottom: 0; }
  .jcTransparencyFinanceV617 .jcFinanceResponsiveTableV623 .jcFinanceCellValueV623 { font-weight: 650; }
}

/* v628 · Monthly pies and whole-record accumulations stay separate. */
.jcFinancePieV628{margin:0;min-width:0;max-width:100%;text-align:left}
.jcFinancePieV628 figcaption{font-size:11px;font-weight:750;line-height:1.4;color:#315e50;margin:0 0 8px}
.jcFinancePieLayoutV628{display:grid;grid-template-columns:minmax(70px,105px) minmax(0,1fr);align-items:center;gap:12px}
.jcFinancePieV628 svg{display:block;width:100%;height:auto;max-width:120px;overflow:visible}
.jcFinancePieToneV628{stroke:#fffef9;stroke-width:.7;stroke-linejoin:round}
.jcFinancePieToneV628.confirmed{fill:#0a8d73}.jcFinancePieToneV628.pending{fill:#edbf61}.jcFinancePieToneV628.missing{fill:#d5e2db}.jcFinancePieToneV628.fines{fill:#3d83a6}
.jcFinancePieEmptyV628{fill:#e6ede8;stroke:#c9d9ce}
.jcFinancePieLegendV628{list-style:none!important;padding:0!important;margin:0!important;display:grid;gap:8px;min-width:0;font-size:11px;line-height:1.4}
.jcFinancePieLegendV628 li{display:flex;align-items:flex-start;gap:6px;min-width:0;margin:0!important;padding:0!important}
.jcFinancePieLegendV628 li>span:last-child{min-width:0;overflow-wrap:anywhere}
.jcFinancePieLegendV628 strong{display:block;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}
.jcFinancePieLegendV628 small{font-size:10px;font-weight:500}
.jcFinancePieSwatchV628{display:inline-block;flex:0 0 9px;width:9px;height:9px;border-radius:3px;margin-top:3px}
.jcFinancePieSwatchV628.confirmed{background:#0a8d73}.jcFinancePieSwatchV628.pending{background:#edbf61}.jcFinancePieSwatchV628.missing{background:#d5e2db}.jcFinancePieSwatchV628.fines{background:#3d83a6}
.jcFinancePieNoDataV628{margin:0;font-size:12px;color:#597365}
.jcTransparencyFinanceV617 .jcFinanceReportTableV628 th:last-child{width:23%}
.jcTransparencyFinanceV617 .jcFinanceReportTableV628 .jcFinancePieCellV628{padding:14px 10px}
.jcFinanceUpdateFooterV628{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:24px 0 12px;padding:18px;border:1px solid #c6dcd0;border-radius:18px;background:#f5faf3;color:#315e50;min-width:0;max-width:100%;font:inherit}
.jcFinanceUpdateFooterV628 .jcFinanceLiveV617{display:block;box-sizing:border-box;width:100%;margin:0;padding:10px 12px;border-radius:12px;background:#eaf4e5;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.jcFinanceUpdateFooterV628 .jcFinanceLiveV617.error{background:#fff1e6;color:#9b492f}
.jcFinanceUpdateFooterV628 button{display:block;max-width:100%;min-height:44px;padding:10px 20px;border:1px solid #abcbbb;border-radius:12px;color:#075e54;background:#fffef9;font:750 14px/1.4 system-ui;cursor:pointer}
.jcFinanceUpdateFooterV628 button:focus-visible,.jcTowerMenuV628 button:focus-visible{outline:3px solid #197969;outline-offset:3px}
.jcFinanceAllocationV628{margin:10px 0;padding:10px;border:1px solid #d3e4da;border-radius:12px;font-size:12px;max-width:100%;min-width:0}
.jcFinanceAllocationV628>summary{cursor:pointer;color:#196a55;font-weight:700}
.jcFinanceAllocationV628 dl{margin:10px 0 0;display:grid;gap:6px}
.jcFinanceAllocationV628 dl>div{display:flex;justify-content:space-between;gap:12px;min-width:0}
.jcFinanceAllocationV628 dt,.jcFinanceAllocationV628 dd{margin:0;overflow-wrap:anywhere}
.jcFinanceAllocationV628 dd{font-weight:750;font-variant-numeric:tabular-nums}
.jcTowerMenuV628{display:block;min-width:0;width:100%}
.jcTowerSubmenuV628{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:4px 0 12px;padding:0 10px 0 24px;min-width:0}
.jcTowerSubmenuV628[hidden]{display:none!important}
.jcTowerSubmenuV628 button{display:flex;align-items:center;gap:12px;min-height:46px;width:100%;border:1px solid #c7e0d5;border-radius:14px;background:#f4fbf6;color:#075e54;padding:10px 14px;cursor:pointer;text-align:left;font:750 15px/1.4 system-ui}
.jcTowerSubmenuV628 svg{width:25px;height:25px;flex:0 0 25px;stroke:currentColor;fill:none;stroke-width:1.8}
.jcTowerSubmenuV628 p{margin:0;font-size:12px;color:#6e4935;overflow-wrap:anywhere}
.jcTowerMenuV628 [data-jc-main-tower-v620][aria-expanded=true] .jcPaymentsLaunchArrowV616{transform:rotate(90deg)}
@media (min-width:761px){.jcTransparencyFinanceV617 .jcFinanceReportTableV628 :is(td,th){padding:10px 8px;font-size:12px}.jcFinancePieLayoutV628{grid-template-columns:1fr}.jcFinancePieV628 svg{margin:0 auto;max-width:95px}}
@media (max-width:760px){.jcTransparencyFinanceV617 .jcFinanceReportTableV628 .jcFinancePieCellV628{display:block;width:100%;padding:14px 0}.jcTransparencyFinanceV617 .jcFinanceReportTableV628 .jcFinancePieCellV628::before{display:none}.jcTransparencyFinanceV617 .jcFinanceReportTableV628 th:last-child{width:auto}}
@container jc-finance-report (max-width:640px){.jcTransparencyFinanceV617 .jcFinanceReportTableV628 .jcFinancePieCellV628{display:block;width:100%;padding:14px 0}.jcTransparencyFinanceV617 .jcFinanceReportTableV628 .jcFinancePieCellV628::before{display:none}.jcFinancePieLayoutV628{grid-template-columns:minmax(70px,105px) minmax(0,1fr)}.jcTransparencyFinanceV617 .jcFinanceReportTableV628 th:last-child{width:auto}}
