/* Partner portal — only what the design system genuinely lacks.
   ------------------------------------------------------------------
   Everything with an app-wide equivalent (cards, tables, pills, KPI
   tiles, tabs, buttons) uses that equivalent instead; the portal used
   to ship its own copy of all of them in an inline <style> block, which
   drifted from the tokens and even overrode the global .pill.

   All colours here come from the theme tokens so the portal follows a
   palette change like every other surface. */

/* Allowance meter — "x% of the plan's tokens used", in usage tables. */
.partner-bar {
  height: 6px;
  min-width: 70px;
  border-radius: 999px;
  background: var(--bg-tint, rgba(127, 127, 127, .18));
  overflow: hidden;
}
.partner-bar > span { display: block; height: 100%; background: var(--brand); }
.partner-bar--warning  > span { background: var(--warn); }
.partner-bar--breached > span { background: var(--err); }

/* Extra redemptions of a multi-use coupon, hung under their lead row. */
.partner-subrow > td {
  border-bottom-style: dashed;
  background: var(--bg-elev-2);
}

/* A generated credential (Subject ID, issuer URL) shown for the partner to copy
   into their own system — a quiet chip, so it reads as a value not as prose. */
.partner-copy {
  display: inline-block;
  padding: .25rem .5rem;
  border-radius: var(--radius-xs);
  background: var(--bg-elev-2);
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: .82rem;
  word-break: break-all;
}

/* Bank-transfer details — a two-column definition list of beneficiary fields. */
.partner-bank__list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .35rem 1.25rem;
  margin: 0;
  font-size: .9rem;
}
.partner-bank__list dt { color: var(--text-subtle); }
.partner-bank__list dd { margin: 0; font-weight: 600; }
@media (max-width: 520px) {
  .partner-bank__list { grid-template-columns: 1fr; }
  .partner-bank__list dd { margin-bottom: .4rem; }
}

/* Tinted panel borders. --warn for something the partner should act on
   (blocked users, SSO switched off), --err for irreversible actions. */
.partner-warn   { border-color: color-mix(in srgb, var(--warn) 45%, var(--border)); }
.partner-danger { border-color: color-mix(in srgb, var(--err) 35%, var(--border)); }
