.plaid-page { min-height: 100vh; background: var(--canvas); }
.plaid-main { padding: 3rem 0 4rem; }
.plaid-card {
  max-width: 36rem;
  background: var(--raised);
  border: 1px solid var(--hair);
  border-radius: 18px;
  padding: 1.75rem 1.5rem 2rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
}
.plaid-card h1 {
  margin: 0.35rem 0 0.75rem;
  font-size: clamp(1.6rem, 4vw, 2.1rem);
  letter-spacing: -0.03em;
}
.plaid-card .lede { color: var(--muted); margin: 0 0 1.25rem; }
.plaid-status {
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: var(--elev);
  border: 1px solid var(--hair);
  font-size: 0.95rem;
  color: var(--ink);
}
.plaid-status[data-kind="ok"] { border-color: rgba(96,165,250,0.45); }
.plaid-status[data-kind="warn"] { border-color: rgba(234,179,8,0.45); color: #FDE68A; }
.plaid-status[data-kind="error"] { border-color: rgba(244,106,106,0.55); color: #FECACA; }
.plaid-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.plaid-note { color: var(--subtle); font-size: 0.88rem; margin: 0.75rem 0 0; }
.plaid-note code {
  font-family: var(--mono);
  font-size: 0.8em;
  color: var(--accent);
  word-break: break-all;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.7rem 1.15rem; border-radius: 999px; font-weight: 600;
  text-decoration: none; border: 0; cursor: pointer; font: inherit; color: var(--ink);
}
.btn:disabled { opacity: 0.55; cursor: default; }
.btn-primary {
  background: linear-gradient(135deg, var(--blue), var(--violet));
  color: #fff;
}
.btn-ghost {
  background: transparent;
  border: 1px solid var(--hair);
  color: var(--muted);
}
.btn-ghost:hover { color: var(--ink); border-color: var(--subtle); }
