/* Nexio Design Tokens 1.0 — not linked until screen migration begins. */
:root {
  --nx-bg: #0b111d;
  --nx-surface: #141c2a;
  --nx-surface-raised: #192334;
  --nx-surface-soft: #101824;
  --nx-text: #f7f9fc;
  --nx-text-muted: #8f9caf;
  --nx-border: rgba(255, 255, 255, .06);
  --nx-primary: #4f8fff;
  --nx-primary-hover: #6aa2ff;
  --nx-income: #4fd18b;
  --nx-expense: #f06b78;
  --nx-transfer: #a78bfa;
  --nx-warning: #f2b95f;
  --nx-danger: #e65765;

  --nx-signature: linear-gradient(90deg, #4f8fff, #4fd18b, #f2cf5b, #f39a57, #e875a2);

  --nx-font-display: 700 56px/60px Inter, sans-serif;
  --nx-font-heading: 700 36px/42px Inter, sans-serif;
  --nx-font-title: 650 26px/32px Inter, sans-serif;
  --nx-font-body: 400 16px/24px Inter, sans-serif;
  --nx-font-caption: 550 13px/18px Inter, sans-serif;

  --nx-space-1: 8px;
  --nx-space-2: 12px;
  --nx-space-3: 16px;
  --nx-space-4: 24px;
  --nx-space-5: 32px;
  --nx-space-6: 48px;
  --nx-space-7: 64px;

  --nx-card-radius: 18px;
  --nx-control-radius: 14px;
  --nx-card-padding: 24px;
  --nx-card-shadow: 0 15px 40px rgba(0, 0, 0, .18);
  --nx-focus-ring: 0 0 0 3px rgba(79, 143, 255, .14);

  --nx-duration-fast: 150ms;
  --nx-duration-control: 250ms;
  --nx-duration-enter: 400ms;
  --nx-duration-page: 700ms;
  --nx-ease: cubic-bezier(.2, .8, .2, 1);
  --nx-ease-enter: cubic-bezier(.16, 1, .3, 1);

  --nx-icon-size: 20px;
  --nx-icon-stroke: 1.8;
  --nx-input-height: 52px;
  --nx-button-height: 48px;
  --nx-touch-target: 44px;
}
