:root {
  --brand-bg: #f6f5f4;
  --brand-card: #ffffff;
  --brand-primary: #ab9ff2;
  --brand-primary-strong: #8b5cf6;
  --brand-primary-soft: #c4b5fd;
  --brand-text: #292824;
  --brand-secondary: #6e6e73;
  --brand-success: #3dbe6c;
  --brand-danger: #ff5c5c;
  --brand-border: #ececec;
  --brand-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  --brand-radius-xl: 28px;
  --brand-radius-lg: 22px;
  --brand-radius-md: 18px;
  --brand-radius-pill: 32px;
  --brand-transition: 200ms cubic-bezier(.22,1,.36,1);
  --brand-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,
body {
  background: var(--brand-bg);
  color: var(--brand-text);
  font-family: var(--brand-font);
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button,
[role="button"],
.psw-button,
.trxs-button,
.trxs-menu-toggle,
.psw-action,
.psw-card,
.psw-provider,
.psw-wallet-dialog__grid button,
.psw-wc-topup__button {
  transition: transform var(--brand-transition), box-shadow var(--brand-transition), background var(--brand-transition), border-color var(--brand-transition), color var(--brand-transition), opacity var(--brand-transition);
}

button:hover,
[role="button"]:hover,
.psw-button:hover,
.trxs-button:hover,
.trxs-menu-toggle:hover,
.psw-action:hover,
.psw-card:hover,
.psw-provider:hover,
.psw-wallet-dialog__grid button:hover,
.psw-wc-topup__button:hover {
  transform: translateY(-1px);
}

button:active,
[role="button"]:active,
.psw-button:active,
.trxs-button:active,
.trxs-menu-toggle:active,
.psw-action:active,
.psw-card:active,
.psw-provider:active,
.psw-wallet-dialog__grid button:active,
.psw-wc-topup__button:active {
  transform: translateY(0) scale(.98);
}

.psw-button,
.trxs-button,
.psw-wallet-dialog__grid button,
.psw-wc-topup__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 22px;
  border: 0;
  border-radius: var(--brand-radius-pill);
  font: 600 18px/1 var(--brand-font);
  cursor: pointer;
  text-decoration: none;
}

.psw-button--primary,
.trxs-button-primary,
.psw-wallet-dialog__grid button,
.psw-wc-topup__button {
  background: var(--brand-primary);
  color: #fff;
  box-shadow:
    inset 0 4px 24px rgba(255, 255, 255, .8),
    inset 0 -3px 12px rgba(196, 181, 253, .82),
    0 10px 24px rgba(139, 92, 246, .18);
}

.psw-button--secondary,
.trxs-button-secondary,
.psw-action:not(.primary),
.trxs-menu-toggle {
  background: #eef0f3;
  color: #66779a;
  border: 1px solid transparent;
}

.psw-button--secondary:hover,
.trxs-button-secondary:hover,
.psw-action:not(.primary):hover,
.trxs-menu-toggle:hover {
  background: #e6e9ef;
}

.psw-surface,
.psw-wallet-dialog__panel,
.psw-card,
.psw-provider,
.trxs-page-card,
.trxs-app-panel,
.trxs-service-card,
.trxs-process-card,
.trxs-wallet-card,
.trxs-value-card,
.trxs-story-card,
.trxs-stat-card {
  border: 1px solid var(--brand-border);
  background: var(--brand-card);
  box-shadow: var(--brand-shadow);
}

.psw-button--danger {
  background: var(--brand-danger);
  color: #fff;
}

.psw-surface,
.psw-wallet-dialog__panel,
.psw-wc-topup,
.trxs-page-card,
.trxs-app-panel,
.trxs-hero-copy,
.trxs-metric-card,
.trxs-wallet-card,
.trxs-process-card,
.trxs-value-card {
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-radius: 24px;
  box-shadow: var(--brand-shadow);
}

.psw-wallet-dialog {
  background: rgba(246, 245, 244, .88);
  backdrop-filter: blur(14px);
}

.psw-wallet-dialog__panel {
  color: var(--brand-text);
}

.psw-wallet-dialog__panel h2,
.psw-wc-topup h4,
.trxs-panel-kicker,
.trxs-eyebrow {
  color: var(--brand-text);
}

.psw-wallet-dialog__panel p,
.psw-wc-topup p,
.trxs-muted,
.trxs-panel-copy,
.trxs-section-head p,
.trxs-hero-lede {
  color: var(--brand-secondary);
}

.psw-wallet-dialog__grid button {
  width: 100%;
}

.psw-wallet-dialog__grid button:hover {
  box-shadow:
    inset 0 4px 24px rgba(255, 255, 255, .8),
    inset 0 -3px 12px rgb(255, 218, 235),
    0 12px 30px rgba(82, 99, 255, .2);
}

.psw-wallet-dialog__close,
.trxs-menu-toggle {
  box-shadow: none;
}

.psw-wc-topup {
  padding: 28px;
}

.psw-wc-topup__button {
  width: 100%;
}

.psw-wc-topup__button:disabled {
  opacity: .65;
  cursor: wait;
}

.trxs-button {
  min-height: 58px;
  padding: 0 24px;
}

.trxs-button-primary {
  background: var(--brand-primary);
  color: #fff;
  box-shadow:
    inset 0 4px 24px rgba(255, 255, 255, .8),
    inset 0 -3px 12px rgb(255, 218, 235),
    0 10px 24px rgba(82, 99, 255, .18);
}

.trxs-button-secondary {
  background: #eef0f3;
  color: #66779a;
}

.trxs-button-secondary:hover {
  background: #e6e9ef;
}

.trxs-container,
.trxs-header-inner,
.trxs-hero-grid,
.trxs-section,
.trxs-page-card {
  color: var(--brand-text);
}

.trxs-status-pill,
.psw-status-chip,
.trxs-badge {
  border-color: var(--brand-border);
  background: #fff;
  color: var(--brand-secondary);
}
