/* v618 · Payment status comes only from the server's reconciled author record. */
#chatBody .msgHead:has(.paymentBadgesV618){flex-wrap:wrap;column-gap:7px;row-gap:5px}
.paymentBadgesV618{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:100%;vertical-align:middle}
.paymentBadgeAnnualV618,.paymentBadgeCurrentV618{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:999px;padding:3px 7px;font-size:10px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:.01em;white-space:nowrap}
.paymentBadgeAnnualV618{color:#684409!important;background:#fff0c2;border-color:#dfb947}
.paymentBadgeCurrentV618{color:#176044!important;background:#e5f6eb;border-color:#acd6bc}
#chatBody .paymentAnnualV618 .bubble{border-color:#c79b39!important;box-shadow:inset 3px 0 0 #d7ab45}
#chatBody .paymentAnnualV618>.profileAvatarBtn .avatar{outline:2px solid #d7ab45;outline-offset:2px}
#chatBody .paymentAnnualV618 .profileNameBtn{color:#76510e!important}
#chatBody .paymentActivityV618{display:block!important;margin:14px 0;max-width:100%;padding:0 12px}
.paymentActivityCardV618{width:min(100%,560px);box-sizing:border-box;margin:0 auto;padding:15px 17px;border:1px solid #d1e4d9;border-radius:18px;background:#f5faf7;color:#193c31;box-shadow:0 2px 7px rgb(16 52 37 / 4%)}
.paymentActivityHeadingV618{display:flex;align-items:center;gap:11px}
.paymentActivityHeadingV618>div{min-width:0}
.paymentActivityHeadingV618 strong{display:block;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.paymentActivityHeadingV618 p{margin:4px 0 0;font-size:12px;color:#466454;overflow-wrap:anywhere}
.paymentActivityIconV618{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#e2f0e7;color:#246b49;font-size:22px;font-weight:700}
.paymentActivityDetailsV618{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:13px 0 7px;font-size:12px;line-height:1.4}
.paymentActivityDetailsV618>span{min-width:0;overflow-wrap:anywhere}
.paymentActivityDetailsV618>strong{font-size:16px;font-variant-numeric:tabular-nums}
.paymentActivityPendingV618{display:inline-block;margin:0;padding:4px 8px;border-radius:7px;background:#fff0ce;color:#73541a;font-size:11px;font-weight:750}
.paymentActivitySummaryV618{margin-top:12px;padding-top:11px;border-top:1px solid #dce9e1}
.paymentActivitySummaryV618>p{margin:0 0 8px;font-size:10px;color:#587062;line-height:1.4}
.paymentActivitySummaryV618 dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.paymentActivitySummaryV618 dt{font-size:10px;color:#5c7265;line-height:1.3}
.paymentActivitySummaryV618 dd{margin:3px 0 0;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:480px){#chatBody .paymentActivityV618{padding:0 4px}.paymentActivityCardV618{padding:12px}.paymentActivitySummaryV618 dl{gap:6px}.paymentBadgesV618{gap:4px}.paymentBadgeAnnualV618,.paymentBadgeCurrentV618{font-size:9px!important;padding:3px 5px}}

/* v620: residency verification is blue; current-month maintenance is green. */
#chatBody .chatVerifiedBadgeV605{background:#e7f1ff!important;border-color:#a6caf2!important;color:#175da5!important;box-shadow:0 1px 3px rgb(23 93 165 / 8%)}
#chatBody .chatVerifiedBadgeV605 .chatVerifiedCheckV605{background:#1976d2!important;color:#fff!important}
#chatBody .paymentBadgeCurrentV618{background:#e5f6eb!important;border-color:#acd6bc!important;color:#176044!important}
#chatBody .paymentBadgeCurrentCheckV620{display:inline-grid;place-items:center;flex:0 0 13px;width:13px;height:13px;border-radius:50%;background:#16834b;color:#fff!important;font-size:9px!important;line-height:1!important}

/* v623: tooltips live at body level, never clipped by chat bubbles or panels. */
[data-jc-tooltip-v623] { cursor: help; touch-action: manipulation; }
[data-jc-tooltip-v623]:focus-visible { outline: 2px solid #197969; outline-offset: 3px; }
.jcTooltipV623 {
  position: fixed; z-index: 2147483500; box-sizing: border-box;
  width: max-content; max-width: min(310px, calc(100vw - 24px));
  padding: 11px 13px; border: 1px solid #d2dfd4; border-radius: 12px;
  background: #173e35; color: #fffef9; box-shadow: 0 8px 24px rgb(17 53 41 / 22%);
  font: 500 13px/1.5 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  white-space: normal; overflow-wrap: anywhere; text-align: left;
}
.jcTooltipV623[hidden] { display: none !important; }
.paymentBadgeAnnualV618,.paymentBadgeCurrentV618 { max-width: 100%; white-space: normal; }


/* v625: a single tooltip implementation; legacy badge pseudo-tooltips are off. */
html body #chatBody .msgRow .msgHead .chatVerifiedBadgeV605[data-jc-tooltip-v623]::before,
html body #chatBody .msgRow .msgHead .chatVerifiedBadgeV605[data-jc-tooltip-v623]::after,
.chatVerifiedBadgeV605::before,
.chatVerifiedBadgeV605::after,
[data-jc-tooltip-v623]::before,
[data-jc-tooltip-v623]::after {
  content: none !important;
  display: none !important;
}
/* Receipt activities have no author column, speech bubble, reactions or avatar. */
#chatBody .paymentActivityV618 {
  display: block !important; width: 100%; max-width: 100%; min-width: 0;
  margin: 18px 0; padding: 0 6px; box-sizing: border-box;
}
#chatBody .paymentActivityCardV618 {
  width: min(100%, 520px); max-width: 100%; min-width: 0;
  margin: 0 auto; padding: 18px; border: 1px solid #bcd8cc;
  border-radius: 20px; background: linear-gradient(155deg, #fffef9, #f0f8f3);
  color: #173e35; box-shadow: 0 5px 16px rgb(17 70 53 / 7%);
  font-family: inherit; text-align: left; overflow-wrap: anywhere;
}
.paymentActivityHeadingV618 { align-items: center; gap: 12px; }
.paymentActivityHeadingV618 h4 { margin: 2px 0 0; color: #075e54; font-size: 17px; font-weight: 800; line-height: 1.25; }
.paymentActivityEyebrowV625 { display: block; color: #61796c; font-size: 10px; font-weight: 700; letter-spacing: .035em; line-height: 1.4; }
.paymentActivityIconV618 { flex: 0 0 46px; height: 46px; width: 46px; border-radius: 14px; background: #e4f1e6; }
.paymentActivityIconV618 img { display: block; width: 40px; height: 40px; object-fit: contain; }
.paymentActivityDetailsV618 { display: block; margin: 16px 0; padding: 13px 14px; border-radius: 14px; background: #e5f2e7; }
.paymentActivityDetailsV618 > span { display: block; color: #4c6c5d; font-size: 12px; font-weight: 700; }
.paymentActivityAmountV625 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin-top: 3px; }
.paymentActivityAmountV625 > strong { color: #075e54; font-size: clamp(23px, 7vw, 29px); line-height: 1.2; font-weight: 800; font-variant-numeric: tabular-nums; }
.paymentActivityAmountV625 > span { color: #537262; font-size: 11px; font-weight: 700; }
.paymentActivityUnitV625 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; }
.paymentActivityUnitV625 > div { min-width: 0; }
.paymentActivityUnitV625 dt { color: #687d72; font-size: 11px; line-height: 1.3; }
.paymentActivityUnitV625 dd { margin: 3px 0 0; color: #214e3e; font-size: 14px; font-weight: 750; line-height: 1.4; }
.paymentActivityPeriodV625 { grid-column: 1 / -1; }
.paymentActivityFooterV625 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.paymentActivityPendingV618 { border: 1px solid #ead49b; border-radius: 999px; padding: 5px 9px; font-size: 11px; line-height: 1.35; }
.paymentActivityDateV625 { margin-left: auto; color: #688175; font-size: 10px; line-height: 1.4; white-space: normal; }
.paymentActivityTotalsV625 { margin-top: 14px; border-top: 1px solid #d4e5da; padding-top: 12px; }
.paymentActivityTotalsV625 > summary { cursor: pointer; color: #196a55; font-size: 12px; line-height: 1.5; font-weight: 750; }
.paymentActivityTotalsV625 > p { margin: 10px 0 0; color: #657c6e; font-size: 10px; line-height: 1.5; }
.paymentActivitySummaryV618 h5 { margin: 0 0 9px; font-size: 12px; line-height: 1.4; color: #2f604b; }
.paymentActivitySummaryV618 dd { font-size: 14px; }
.paymentActivitySummaryV618 dd small { display: block; margin-top: 2px; font-size: 10px; color: #657c6e; font-weight: 500; }
@media(max-width:380px) {
  #chatBody .paymentActivityV618 { padding: 0; }
  #chatBody .paymentActivityCardV618 { padding: 14px; }
  .paymentActivityDateV625 { margin-left: 0; }
}


/* v627: compact disclosure header; no double padding from the v625 card rule. */
#chatBody .paymentActivityV618 { margin: 10px 0; }
#chatBody .paymentActivityCardV618.paymentActivityCollapseV626 { padding: 0; border-radius: 17px; }
.paymentActivitySummaryToggleV626 {
  list-style: none; cursor: pointer; display: grid; align-items: center;
  grid-template-columns: 36px minmax(0, 1fr) auto; column-gap: 9px; row-gap: 3px;
  padding: 10px 12px; user-select: none; touch-action: manipulation;
}
.paymentActivitySummaryToggleV626::-webkit-details-marker,
.paymentActivitySummaryToggleV626::marker { display: none; content: ''; }
.paymentActivitySummaryToggleV626:focus-visible { outline: 2px solid #197969; outline-offset: -3px; border-radius: 16px; }
.paymentActivitySummaryToggleV626 > .paymentActivityIconV618 {
  grid-column: 1; grid-row: 1 / 3; width: 36px; height: 36px; border-radius: 11px;
}
.paymentActivitySummaryToggleV626 > .paymentActivityIconV618 img { width: 32px; height: 32px; }
.paymentActivityTitleV627 {
  grid-column: 2; grid-row: 1; min-width: 0; color: #075e54;
  font-size: 14px; font-weight: 800; line-height: 1.3;
}
.paymentActivityContextV627 {
  grid-column: 2 / -1; grid-row: 2; min-width: 0; color: #4c6c5d;
  font-size: 11px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere;
}
.paymentActivityToggleMetaV626 {
  grid-column: 3; grid-row: 1; display: inline-flex; align-items: center;
  gap: 9px; margin-left: auto; min-width: 0;
}
.paymentActivityToggleAmountV626 { color: #075e54; font-size: 14px; line-height: 1.35; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.paymentActivityToggleArrowV626 {
  flex: 0 0 9px; width: 9px; height: 9px;
  border-right: 2px solid #3d6d59; border-bottom: 2px solid #3d6d59;
  transform: rotate(45deg) translateY(-1px); transition: transform .18s ease;
  margin: -2px 2px 0 0;
}
.paymentActivityCollapseV626[open] > summary .paymentActivityToggleArrowV626 { transform: rotate(-135deg) translateY(-1px); }
.paymentActivityBodyV626 { padding: 0 18px 18px; }
.paymentActivityCollapseV626 .paymentActivityDetailsV618 { margin-top: 4px; }
@media (max-width: 380px) {
  .paymentActivitySummaryToggleV626 { padding: 10px; column-gap: 8px; }
  .paymentActivityBodyV626 { padding: 0 14px 14px; }
  .paymentActivityToggleMetaV626 { gap: 7px; }
  .paymentActivityToggleAmountV626 { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .paymentActivityToggleArrowV626 { transition: none; } }
