CSS Variables¶
Complete reference for all MetrePay CSS custom properties. Include this in your project's root stylesheet.
Full Token Set¶
:root {
/* =============================================
BRAND COLORS
============================================= */
--mp-color-blue: #6E96FF; /* Single payment primary */
--mp-color-blue-hover: #6687DC; /* Single payment hover */
--mp-color-blue-light: #EBF0FF; /* Blue tint background */
--mp-color-purple: #5C0390; /* Recurrent payment primary */
--mp-color-purple-hover: #3A005C; /* Recurrent payment hover */
--mp-color-purple-light: #F9EEFF; /* Purple tint background */
--mp-color-violet: #7E5FFA; /* AI / landing accent */
/* =============================================
GRADIENTS
============================================= */
--mp-gradient-hero: linear-gradient(73deg, #6E96FF 20%, #5C0390 100%);
--mp-gradient-btn: linear-gradient(90deg, #6E96FF 0%, #84a7ff 75%, #adc5ff 100%);
--mp-gradient-accent: linear-gradient(to right, #5D0391 0%, #FFFFFF 100%);
/* =============================================
NEUTRALS
============================================= */
--mp-color-text: #666666; /* Body text */
--mp-color-text-dark: #333333; /* Headings, labels */
--mp-color-text-muted: #999999; /* Secondary text, placeholders */
--mp-color-text-input: #555555; /* Input values */
--mp-color-border: #E5ECFB; /* Card borders, dividers */
--mp-color-border-input: #92A3C8; /* Input borders */
--mp-color-bg-page: #F1F1F1; /* Page background */
--mp-color-bg-card: #FAFAFA; /* Default card background */
--mp-color-bg-white: #FFFFFF; /* White card, form background */
/* =============================================
SEMANTIC COLORS
============================================= */
--mp-color-error: #c80000;
--mp-color-error-bg: rgba(248, 215, 218, 1);
--mp-color-error-border: rgba(220, 53, 69, 1);
--mp-color-success: #1a7f4b;
--mp-color-success-bg: #d1fae5;
--mp-color-warning: #92400e;
--mp-color-warning-bg: #fef3c7;
/* =============================================
TYPOGRAPHY
============================================= */
--mp-font-base: 'Cabin', sans-serif;
--mp-font-size-xs: 12px;
--mp-font-size-sm: 13px;
--mp-font-size-base: 14px;
--mp-font-size-md: 15px;
--mp-font-size-lg: 18px;
--mp-font-size-xl: 20px;
--mp-font-size-2xl: 24px;
--mp-font-size-3xl: 32px;
--mp-font-size-4xl: 40px;
--mp-line-height-body: 1.7;
--mp-line-height-heading: 1.2;
/* =============================================
SPACING
============================================= */
--mp-space-1: 4px;
--mp-space-2: 8px;
--mp-space-3: 12px;
--mp-space-4: 16px;
--mp-space-5: 20px;
--mp-space-6: 24px;
--mp-space-8: 32px;
--mp-space-10: 40px;
--mp-space-12: 48px;
--mp-space-16: 64px;
/* =============================================
BORDER RADIUS
============================================= */
--mp-radius-sm: 4px;
--mp-radius-md: 8px;
--mp-radius-lg: 10px;
--mp-radius-xl: 16px;
--mp-radius-2xl: 20px;
--mp-radius-full: 9999px;
/* =============================================
SHADOWS
============================================= */
--mp-shadow-card: 0px 0px 6px 3px rgba(127, 146, 189, 0.1);
--mp-shadow-form: 0px 10px 16px rgba(0, 14, 45, 0.1);
--mp-shadow-hover: 0 8px 16px -4px rgba(10, 10, 10, 0.1);
--mp-shadow-btn: 0px 3px 2px 0px rgba(221, 221, 221, 1);
/* =============================================
MOTION
============================================= */
--mp-transition-fast: 0.2s ease;
--mp-transition-base: 0.3s ease;
--mp-transition-slow: 0.4s ease;
/* =============================================
LAYOUT
============================================= */
--mp-container-max: 1280px;
--mp-container-form: 720px;
--mp-container-narrow: 480px;
}
Minimal Starter¶
If you only need the most commonly used tokens:
:root {
/* Colors */
--mp-color-blue: #6E96FF;
--mp-color-blue-hover: #6687DC;
--mp-color-blue-light: #EBF0FF;
--mp-color-purple: #5C0390;
--mp-color-text-dark: #333333;
--mp-color-text: #666666;
--mp-color-text-muted: #999999;
--mp-color-border: #E5ECFB;
--mp-color-bg-page: #F1F1F1;
--mp-color-bg-card: #FAFAFA;
/* Gradient */
--mp-gradient-hero: linear-gradient(73deg, #6E96FF 20%, #5C0390 100%);
/* Typography */
--mp-font-base: 'Cabin', sans-serif;
/* Spacing */
--mp-space-4: 16px;
--mp-space-6: 24px;
--mp-space-8: 32px;
/* Radius */
--mp-radius-md: 8px;
--mp-radius-lg: 10px;
--mp-radius-full: 9999px;
/* Shadows */
--mp-shadow-card: 0px 0px 6px 3px rgba(127, 146, 189, 0.1);
--mp-shadow-hover: 0 8px 16px -4px rgba(10, 10, 10, 0.1);
/* Motion */
--mp-transition-base: 0.3s ease;
}
How to Use¶
/* Reference tokens in your component styles */
.my-card {
background: var(--mp-color-bg-card);
border-radius: var(--mp-radius-lg);
box-shadow: var(--mp-shadow-card);
padding: var(--mp-space-6);
font-family: var(--mp-font-base);
transition: all var(--mp-transition-base);
}
.my-card:hover {
background: var(--mp-color-bg-white);
box-shadow: var(--mp-shadow-hover);
transform: translateY(-2px);
}
.my-button {
background: var(--mp-color-blue);
color: white;
border-radius: var(--mp-radius-md);
font-family: var(--mp-font-base);
font-size: var(--mp-font-size-md);
transition: all var(--mp-transition-base);
}