/* Sync Trust chrome — icon + label, never color-only. Theme-aware AA contrast. */

.trust-chip-slot {
  display: block;
  margin-top: 6px;
}

#dashboardView #safeToSpendTrustChip,
#dashboardView #availableTrustChip,
#dashboardView #twoWeekTrustChip,
#cashSafetyStrip .trust-chip-slot {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#accountForecastStrip .account-forecast-tile .trust-chip-slot:empty,
.household-total-card .trust-chip-slot:empty,
.institution-accounts .account-card .trust-chip-slot:empty {
  display: none !important;
  margin: 0 !important;
}

.trust-exception {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  margin-top: 2px;
  padding: 1px 6px;
  border-radius: 999px;
  border: 1px solid #d2b48a;
  background: #f7efe0;
  color: #5c3d12;
  font: 650 11px/1.2 "DM Sans", system-ui, sans-serif;
  white-space: nowrap;
}

.trust-exception .trust-icon {
  display: inline-grid;
  place-items: center;
  width: 10px;
  min-width: 10px;
  font-size: 11px;
  line-height: 1;
}

.trust-exception.trust-syncing {
  border-color: #e0b25a;
  background: #fff4d6;
  color: #6a4708;
}

.trust-exception.trust-connection_error {
  border-color: #e0a39a;
  background: #fdecea;
  color: #7a2218;
}

.trust-exception.trust-manually_adjusted {
  border-color: #b7c0d4;
  background: #eef1f7;
  color: #24324f;
}

body[data-theme="midnight"] .trust-exception {
  border-color: #6d5a38;
  background: #2d2416;
  color: #e6d0a8;
}

body[data-theme="midnight"] .trust-exception.trust-syncing {
  border-color: #8a6a24;
  background: #3a2c12;
  color: #f3d48a;
}

body[data-theme="midnight"] .trust-exception.trust-connection_error {
  border-color: #7a3a34;
  background: #3a1c1a;
  color: #f3b4ae;
}

.trust-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: 100%;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--line, #c5d0e3);
  background: #f4f6fb;
  color: #1a2744;
  font: 650 12px/1.25 "DM Sans", system-ui, sans-serif;
  white-space: nowrap;
  vertical-align: baseline;
}

.trust-chip .trust-icon {
  display: inline-grid;
  place-items: center;
  width: 12px;
  min-width: 12px;
  font-size: 12px;
  line-height: 1;
}

.trust-chip .trust-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 650;
  font-size: 12px;
  line-height: 1.25;
}

.trust-chip.trust-current {
  border-color: #9dceb3;
  background: #e7f6ee;
  color: #0d3b2e;
}

.trust-chip.trust-syncing {
  border-color: #e0b25a;
  background: #fff4d6;
  color: #6a4708;
}

.trust-chip.trust-stale {
  border-color: #d2b48a;
  background: #f7efe0;
  color: #5c3d12;
}

.trust-chip.trust-connection_error {
  border-color: #e0a39a;
  background: #fdecea;
  color: #7a2218;
}

.trust-chip.trust-manually_adjusted {
  border-color: #b7c0d4;
  background: #eef1f7;
  color: #24324f;
}

body[data-theme="midnight"] .trust-chip {
  border-color: #3a4466;
  background: #1a2038;
  color: #e8ecff;
}

body[data-theme="midnight"] .trust-chip.trust-current {
  border-color: #2f6b58;
  background: #16352d;
  color: #8eecc8;
}

body[data-theme="midnight"] .trust-chip.trust-syncing {
  border-color: #8a6a24;
  background: #3a2c12;
  color: #f3d48a;
}

body[data-theme="midnight"] .trust-chip.trust-stale {
  border-color: #6d5a38;
  background: #2d2416;
  color: #e6d0a8;
}

body[data-theme="midnight"] .trust-chip.trust-connection_error {
  border-color: #7a3a34;
  background: #3a1c1a;
  color: #f3b4ae;
}

body[data-theme="midnight"] .trust-chip.trust-manually_adjusted {
  border-color: #3a4466;
  background: #22283f;
  color: #d5dcf3;
}

.household-total-card.primary .trust-chip,
.household-total-card.primary .trust-chip.trust-current,
.household-total-card.primary .trust-chip.trust-syncing,
.household-total-card.primary .trust-chip.trust-stale,
.household-total-card.primary .trust-chip.trust-connection_error,
.household-total-card.primary .trust-chip.trust-manually_adjusted {
  border-color: rgba(255, 255, 255, .4);
  background: rgba(8, 16, 40, .25);
  color: #fff;
  padding: 2px 8px;
}

.safe-card.sts-gated #safeToSpend {
  letter-spacing: .08em;
}

/* Cloud theme maps --green to live-blue (#265cf0). Non-current cash must not use it. */
.trust-amount-neutral,
#availableCashCard[data-trust]:not([data-trust="current"]) #liquidNow,
#availableCashCard[data-trust]:not([data-trust="current"]) > strong,
.cash-strip > [data-trust]:not([data-trust="current"]) > strong,
.account-forecast-tile[data-trust]:not([data-trust="current"]) > strong,
.account-forecast-tile[data-trust]:not([data-trust="current"]) .forecast-value,
.household-total-card:not(.primary)[data-trust]:not([data-trust="current"]) > strong,
.account-card[data-trust]:not([data-trust="current"]) .account-balance strong,
.institution-group[data-trust]:not([data-trust="current"]) .institution-total:first-of-type strong {
  color: var(--ink, #17213b) !important;
}

body[data-theme="midnight"] .trust-amount-neutral,
body[data-theme="midnight"] #availableCashCard[data-trust]:not([data-trust="current"]) #liquidNow,
body[data-theme="midnight"] .cash-strip > [data-trust]:not([data-trust="current"]) > strong,
body[data-theme="midnight"] .account-forecast-tile[data-trust]:not([data-trust="current"]) > strong,
body[data-theme="midnight"] .account-forecast-tile[data-trust]:not([data-trust="current"]) .forecast-value,
body[data-theme="midnight"] .household-total-card:not(.primary)[data-trust]:not([data-trust="current"]) > strong,
body[data-theme="midnight"] .account-card[data-trust]:not([data-trust="current"]) .account-balance strong,
body[data-theme="midnight"] .institution-group[data-trust]:not([data-trust="current"]) .institution-total:first-of-type strong {
  color: #e8ecff !important;
}

.household-total-card.primary[data-trust]:not([data-trust="current"]) {
  background: linear-gradient(135deg, #5b6478, #3d4458);
  color: #fff;
}

body[data-theme="midnight"] .household-total-card.primary[data-trust]:not([data-trust="current"]) {
  background: linear-gradient(135deg, #2a3148, #1a2033);
}

.account-forecast-tile.total[data-trust]:not([data-trust="current"]),
.account-forecast-tile.household-cash-tile[data-trust]:not([data-trust="current"]) {
  background: var(--card, #fff);
  border-color: var(--line, #dbe2f3);
  color: var(--ink, #17213b);
}

.account-forecast-tile .tile-last-known {
  grid-column: 1 / -1;
  color: var(--muted, #66708a);
  font: 800 10px/1.2 "DM Sans", sans-serif;
  letter-spacing: .08em;
}

.account-forecast-tile .tile-last-known[hidden] {
  display: none !important;
}

.cash-trust-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink, #1c2a48);
  font: 650 13px/1.35 "DM Sans", sans-serif;
}

.cash-trust-banner .trust-icon {
  display: inline-grid;
  place-items: center;
  width: 14px;
  min-width: 14px;
  font-size: 13px;
  line-height: 1;
}

.cash-trust-banner-text {
  flex: 1 1 auto;
}

.cash-trust-banner[data-trust="current"] {
  color: #0d3b2e;
}

.cash-trust-banner[data-trust="stale"],
.cash-trust-banner[data-trust="offline"] {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #d2b48a;
  background: #f7efe0;
  color: #5c3d12;
}

.cash-trust-banner[data-trust="syncing"] {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #e0b25a;
  background: #fff4d6;
  color: #6a4708;
}

.cash-trust-banner[data-trust="error"],
.cash-trust-banner[data-trust="connection_error"] {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #e0a39a;
  background: #fdecea;
  color: #7a2218;
}

.cash-trust-banner[data-trust="manually_adjusted"] {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #b7c0d4;
  background: #eef1f7;
  color: #24324f;
}

.trust-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid #c5d0e3;
  background: #fff;
  color: #1a2744;
  font: 750 13px/1 "DM Sans", sans-serif;
  cursor: pointer;
}

body[data-theme="midnight"] .trust-cta {
  border-color: #3a4466;
  background: #22283f;
  color: #e8ecff;
}

body[data-cash-surface="error"] .trust-cta {
  border-color: #e0a39a;
  background: #fff;
  color: #7a2218;
}

body[data-theme="midnight"][data-cash-surface="error"] .trust-cta {
  border-color: #7a3a34;
  background: #2a1413;
  color: #f3b4ae;
}

.cash-trust-banner[hidden] { display: none !important; }

body[data-cash-surface="loading"] .cash-trust-banner,
body[data-cash-surface="empty"] .cash-trust-banner,
body[data-cash-surface="offline"] .cash-trust-banner {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #cfd7e8;
  background: #eef2fa;
  color: #243354;
}

body[data-theme="midnight"] .cash-trust-banner {
  color: #d5dcf3;
}

body[data-theme="midnight"] .cash-trust-banner[data-trust="current"] {
  color: #8eecc8;
  border: 0;
  background: transparent;
}

body[data-theme="midnight"] .cash-trust-banner[data-trust="stale"],
body[data-theme="midnight"] .cash-trust-banner[data-trust="offline"] {
  border-color: #6d5a38;
  background: #2d2416;
  color: #e6d0a8;
}

body[data-theme="midnight"] .cash-trust-banner[data-trust="syncing"] {
  border-color: #8a6a24;
  background: #3a2c12;
  color: #f3d48a;
}

body[data-theme="midnight"] .cash-trust-banner[data-trust="manually_adjusted"] {
  border-color: #3a4466;
  background: #22283f;
  color: #d5dcf3;
}

body[data-theme="midnight"][data-cash-surface="loading"] .cash-trust-banner,
body[data-theme="midnight"][data-cash-surface="empty"] .cash-trust-banner {
  border-color: #3a4466;
  background: #161b2e;
  color: #d5dcf3;
}

body[data-cash-surface="error"] .cash-trust-banner {
  border-color: #e0a39a;
  background: #fdecea;
  color: #7a2218;
}

body[data-theme="midnight"][data-cash-surface="error"] .cash-trust-banner {
  border-color: #7a3a34;
  background: #3a1c1a;
  color: #f3b4ae;
}

.pending-cash-note {
  display: block;
  margin-top: 6px;
  color: var(--muted, #66708a);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
}

.pending-cash-note[hidden] { display: none !important; }

.transaction-pending-note {
  margin: 8px 0 0;
  color: var(--muted, #66708a);
  font-size: 12px;
  font-weight: 650;
}

.transaction-pending-note[hidden] { display: none !important; }

.trust-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.account-forecast-tile .trust-chip-slot,
.household-total-card .trust-chip-slot,
.institution-accounts .account-card .trust-chip-slot {
  grid-column: 1 / -1;
}

.menu-trust-accounts {
  display: none;
}

@media (max-width: 720px) {
  .trust-chip {
    padding: 2px 8px;
    font-size: 12px;
    max-width: calc(100% - 8px);
    width: auto !important;
  }

  .trust-chip .trust-icon,
  .trust-chip .trust-label {
    font-size: 12px;
  }

  .menu-trust-accounts {
    display: flex;
    flex-direction: column;
    gap: 8px;
    grid-column: 1 / -1;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid rgba(157, 177, 224, .18);
  }

  .menu-trust-accounts[hidden] {
    display: none !important;
  }

  .menu-trust-heading {
    margin: 0;
    color: #9eb0d4;
    font: 800 11px/1.2 "DM Sans", sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .menu-trust-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .menu-trust-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(153, 176, 228, .16);
    border-radius: 13px;
    background: rgba(255, 255, 255, .055);
  }

  .menu-trust-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .menu-trust-name {
    color: #e7edfb;
    font: 800 14px/1.2 "DM Sans", sans-serif;
  }

  .menu-trust-sub {
    color: #9eb0d4;
    font: 650 12px/1.3 "DM Sans", sans-serif;
  }

  .menu-trust-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }

  .sidebar nav .trust-chip,
  .sidebar nav .trust-chip.trust-current,
  .sidebar nav .trust-chip.trust-syncing,
  .sidebar nav .trust-chip.trust-stale,
  .sidebar nav .trust-chip.trust-connection_error,
  .sidebar nav .trust-chip.trust-manually_adjusted {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(8, 16, 40, .35);
    color: #fff;
  }

  .sidebar nav .trust-cta {
    border-color: rgba(153, 176, 228, .35);
    background: rgba(255, 255, 255, .08);
    color: #e7edfb;
  }
}
