@metropolle/design-system
Version:
Sistema de design unificado para a plataforma Metropolle
254 lines (237 loc) • 11.3 kB
CSS
:root {
/* Metropolle Design System Tokens */
/* COLORS */
--mds-colors-color-meridian-bg: #FCFCFD;
--mds-colors-color-meridian-panel: #FFFFFF;
--mds-colors-color-meridian-glass: #FFFFFF;
--mds-colors-color-meridian-glass2: #FFFFFF;
--mds-colors-color-meridian-field: #F1F2F5;
--mds-colors-color-meridian-ink: #17171C;
--mds-colors-color-meridian-ink-dim: rgba(0,0,0,.58);
--mds-colors-color-meridian-ink-faint: rgba(0,0,0,.40);
--mds-colors-color-meridian-ink-rgb: 23,23,28;
--mds-colors-color-meridian-accent: #17171C;
--mds-colors-color-meridian-accent-2: #3A3A42;
--mds-colors-color-meridian-accent-soft: rgba(0,0,0,.05);
--mds-colors-color-meridian-on-accent: #FFFFFF;
--mds-colors-color-meridian-stroke: rgba(0,0,0,.12);
--mds-colors-color-meridian-stroke-2: rgba(0,0,0,.18);
--mds-colors-color-meridian-ok: #1a7f4b;
--mds-colors-color-meridian-info: #2563eb;
--mds-colors-color-meridian-warn: #9a6b00;
--mds-colors-color-meridian-bad: #b42318;
--mds-colors-color-meridian-gold: #f5a623;
--mds-colors-color-meridian-dark-bg: #0B0B0D;
--mds-colors-color-meridian-dark-panel: #161619;
--mds-colors-color-meridian-dark-glass: #1C1C20;
--mds-colors-color-meridian-dark-glass2: #161619;
--mds-colors-color-meridian-dark-field: #202024;
--mds-colors-color-meridian-dark-ink: #F2F0EC;
--mds-colors-color-meridian-dark-ink-dim: rgba(255,255,255,.60);
--mds-colors-color-meridian-dark-ink-faint: rgba(255,255,255,.42);
--mds-colors-color-meridian-dark-ink-rgb: 242,240,236;
--mds-colors-color-meridian-dark-accent: #F2F0EC;
--mds-colors-color-meridian-dark-accent-2: #C8C8CC;
--mds-colors-color-meridian-dark-accent-soft: rgba(255,255,255,.07);
--mds-colors-color-meridian-dark-on-accent: #0B0B0D;
--mds-colors-color-meridian-dark-stroke: rgba(255,255,255,.12);
--mds-colors-color-meridian-dark-stroke-2: rgba(255,255,255,.20);
--mds-colors-color-meridian-dark-gold: #fbbf24;
--mds-colors-color-brand-primary-default: #0055FF;
--mds-colors-color-brand-primary-hover: #0044CC;
--mds-colors-color-brand-primary-active: #003399;
--mds-colors-color-brand-primary-disabled: #80AAFF;
--mds-colors-color-brand-secondary-default: #FF9900;
--mds-colors-color-brand-secondary-hover: #E68A00;
--mds-colors-color-brand-secondary-active: #CC7A00;
--mds-colors-color-brand-secondary-disabled: #FFCC80;
--mds-colors-color-brand-neutral: #333333;
--mds-colors-color-semantic-success-default: #1a7f4b;
--mds-colors-color-semantic-success-light: #D1FAE5;
--mds-colors-color-semantic-success-dark: #065F46;
--mds-colors-color-semantic-warning-default: #9a6b00;
--mds-colors-color-semantic-warning-light: #FEF3C7;
--mds-colors-color-semantic-warning-dark: #92400E;
--mds-colors-color-semantic-error-default: #b42318;
--mds-colors-color-semantic-error-light: #FEE2E2;
--mds-colors-color-semantic-error-dark: #991B1B;
--mds-colors-color-semantic-info-default: #2563eb;
--mds-colors-color-semantic-info-light: #DBEAFE;
--mds-colors-color-semantic-info-dark: #1E40AF;
--mds-colors-color-background-primary: #FCFCFD;
--mds-colors-color-background-secondary: rgba(0, 0, 0, 0.05);
--mds-colors-color-background-glass-light: #FFFFFF;
--mds-colors-color-background-glass-dark: #1C1C20;
--mds-colors-color-text-primary: #17171C;
--mds-colors-color-text-secondary: rgba(0, 0, 0, 0.58);
--mds-colors-color-text-muted: rgba(0, 0, 0, 0.40);
--mds-colors-color-border-light: rgba(0, 0, 0, 0.12);
--mds-colors-color-border-medium: rgba(0, 0, 0, 0.18);
--mds-colors-color-border-strong: rgba(0, 0, 0, 0.30);
/* TYPOGRAPHY */
--mds-typography-fontFamily-brand: 'Helvetica Neue', Helvetica, Arial, sans-serif;
--mds-typography-fontFamily-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
--mds-typography-fontFamily-aux: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--mds-typography-fontFamily-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
--mds-typography-fontFamily-ocr: 'OCR-B', 'OCR B Std', monospace;
--mds-typography-fontSize-xs: 0.75rem;
--mds-typography-fontSize-sm: 0.875rem;
--mds-typography-fontSize-base: 1rem;
--mds-typography-fontSize-lg: 1.125rem;
--mds-typography-fontSize-xl: 1.25rem;
--mds-typography-fontSize-2xl: 1.5rem;
--mds-typography-fontSize-3xl: 1.875rem;
--mds-typography-fontSize-4xl: 2.125rem;
--mds-typography-lineHeight-tight: 1.2;
--mds-typography-lineHeight-normal: 1.5;
--mds-typography-lineHeight-relaxed: 1.75;
--mds-typography-letterSpacing-brand: -0.05rem;
--mds-typography-letterSpacing-tight: -0.03rem;
--mds-typography-letterSpacing-normal: 0;
--mds-typography-letterSpacing-wide: 0.025rem;
--mds-typography-fontWeight-light: 300;
--mds-typography-fontWeight-normal: 400;
--mds-typography-fontWeight-medium: 500;
--mds-typography-fontWeight-semibold: 600;
--mds-typography-fontWeight-bold: 700;
/* SPACING */
--mds-spacing-xs: 0.25rem;
--mds-spacing-sm: 0.5rem;
--mds-spacing-md: 1rem;
--mds-spacing-lg: 1.5rem;
--mds-spacing-xl: 2rem;
--mds-spacing-2xl: 3rem;
--mds-spacing-3xl: 4rem;
--mds-spacing-borderRadius-sm: 2px;
--mds-spacing-borderRadius-md: 4px;
--mds-spacing-borderRadius-lg: 6px;
--mds-spacing-borderRadius-xl: 8px;
--mds-spacing-borderRadius-full: 50%;
--mds-spacing-shadow-glass-light: 0 1px 3px rgba(0,0,0,.05), 0 16px 34px -18px rgba(0,0,0,.14);
--mds-spacing-shadow-glass-lightHover: 0 1px 3px rgba(0,0,0,.07), 0 18px 38px -18px rgba(0,0,0,.18);
--mds-spacing-shadow-glass-dark: 0 16px 36px -18px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05);
--mds-spacing-shadow-glass-darkHover: 0 18px 40px -18px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.07);
--mds-spacing-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
--mds-spacing-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
--mds-spacing-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
--mds-spacing-shadow-card-default: 0 1px 3px rgba(0,0,0,.05), 0 16px 34px -18px rgba(0,0,0,.14);
--mds-spacing-shadow-card-sm: 0 1px 2px rgba(0,0,0,.05), 0 6px 16px -12px rgba(0,0,0,.10);
--mds-spacing-shadow-card-dark: 0 16px 36px -18px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05);
--mds-spacing-shadow-card-darkSm: inset 0 1px 0 rgba(255,255,255,.04), 0 4px 14px -8px rgba(0,0,0,.7);
--mds-spacing-blur-glass-default: 0px;
--mds-spacing-blur-glass-light: 0px;
--mds-spacing-blur-glass-heavy: 0px;
/* EFFECTS */
--mds-effects-transition-fast: 0.15s ease;
--mds-effects-transition-normal: 0.3s ease;
--mds-effects-transition-slow: 0.5s ease;
--mds-effects-animation-fadeIn: fadeIn 0.3s ease-in-out;
--mds-effects-animation-slideUp: slideUp 0.3s ease-out;
--mds-effects-animation-bounce: bounce 0.6s ease-in-out;
--mds-effects-backdrop-glass-filter: none;
--mds-effects-backdrop-glass-webkitFilter: none;
--mds-effects-transform-hoverUp: none;
--mds-effects-transform-scale-hover: scale(1);
--mds-effects-transform-scale-active: none;
--mds-effects-shadow-card: 0 1px 3px rgba(0,0,0,.05), 0 16px 34px -18px rgba(0,0,0,.14);
--mds-effects-shadow-cardSm: 0 1px 2px rgba(0,0,0,.05), 0 6px 16px -12px rgba(0,0,0,.10);
--mds-effects-opacity-glass-light-default: 0.15;
--mds-effects-opacity-glass-light-hover: 0.2;
--mds-effects-opacity-glass-dark-default: 0.8;
--mds-effects-opacity-glass-dark-hover: 0.85;
--mds-effects-opacity-disabled: 0.5;
--mds-effects-opacity-muted: 0.7;
}
/* Card Base Classes (Meridian flat — legacy "glass" names retained) */
.mds-glass-card {
border-radius: var(--r, 2px);
transition: var(--mds-effects-transition-normal);
padding: var(--mds-spacing-md);
}
.mds-glass-card--light {
background: var(--glass);
box-shadow: var(--card-shadow);
}
.mds-glass-card--dark {
background: var(--glass);
box-shadow: var(--card-shadow);
}
.mds-glass-card:hover {
box-shadow: var(--card-shadow);
}
.mds-glass-card--light:hover {
box-shadow: var(--card-shadow);
}
.mds-glass-card--dark:hover {
box-shadow: var(--card-shadow);
}
/* Typography Classes */
.mds-text {
font-family: var(--mds-typography-fontFamily-brand);
color: var(--ink);
}
.mds-text--brand {
font-size: var(--mds-typography-fontSize-4xl);
line-height: var(--mds-typography-lineHeight-tight);
letter-spacing: var(--mds-typography-letterSpacing-brand);
font-weight: var(--mds-typography-fontWeight-normal);
}
@media (max-width: 768px) {
.mds-text--brand {
font-size: 1.8rem;
letter-spacing: var(--mds-typography-letterSpacing-tight);
}
}
/* ===================== Meridian token aliases (light defaults) ===================== */
:root {
--bg: var(--mds-colors-color-meridian-bg);
--panel: var(--mds-colors-color-meridian-panel);
--glass: var(--mds-colors-color-meridian-glass);
--glass-2: var(--mds-colors-color-meridian-glass2);
--field: var(--mds-colors-color-meridian-field);
--ink: var(--mds-colors-color-meridian-ink);
--ink-dim: var(--mds-colors-color-meridian-ink-dim);
--ink-faint: var(--mds-colors-color-meridian-ink-faint);
--ink-rgb: var(--mds-colors-color-meridian-ink-rgb);
--accent: var(--mds-colors-color-meridian-accent);
--accent-2: var(--mds-colors-color-meridian-accent-2);
--accent-soft: var(--mds-colors-color-meridian-accent-soft);
--on-accent: var(--mds-colors-color-meridian-on-accent);
--stroke: var(--mds-colors-color-meridian-stroke);
--stroke-2: var(--mds-colors-color-meridian-stroke-2);
--ok: var(--mds-colors-color-meridian-ok);
--info: var(--mds-colors-color-meridian-info);
--warn: var(--mds-colors-color-meridian-warn);
--bad: var(--mds-colors-color-meridian-bad);
--gold: var(--mds-colors-color-meridian-gold);
--sans: var(--mds-typography-fontFamily-sans);
--aux: var(--mds-typography-fontFamily-aux);
--mono: var(--mds-typography-fontFamily-mono);
--ocr: var(--mds-typography-fontFamily-ocr);
--blur: 0px;
--r: var(--mds-spacing-borderRadius-xl);
--r-sm: var(--mds-spacing-borderRadius-md);
--card-shadow: var(--mds-spacing-shadow-card-default);
--card-shadow-sm: var(--mds-spacing-shadow-card-sm);
}
/* ===================== Meridian DARK (html[data-theme="dark"]) ===================== */
html[data-theme="dark"] {
--bg: var(--mds-colors-color-meridian-dark-bg);
--panel: var(--mds-colors-color-meridian-dark-panel);
--glass: var(--mds-colors-color-meridian-dark-glass);
--glass-2: var(--mds-colors-color-meridian-dark-glass2);
--field: var(--mds-colors-color-meridian-dark-field);
--ink: var(--mds-colors-color-meridian-dark-ink);
--ink-dim: var(--mds-colors-color-meridian-dark-ink-dim);
--ink-faint: var(--mds-colors-color-meridian-dark-ink-faint);
--ink-rgb: var(--mds-colors-color-meridian-dark-ink-rgb);
--accent: var(--mds-colors-color-meridian-dark-accent);
--accent-2: var(--mds-colors-color-meridian-dark-accent-2);
--accent-soft: var(--mds-colors-color-meridian-dark-accent-soft);
--on-accent: var(--mds-colors-color-meridian-dark-on-accent);
--stroke: var(--mds-colors-color-meridian-dark-stroke);
--stroke-2: var(--mds-colors-color-meridian-dark-stroke-2);
--gold: var(--mds-colors-color-meridian-dark-gold);
--card-shadow: var(--mds-spacing-shadow-card-dark);
--card-shadow-sm: var(--mds-spacing-shadow-card-darkSm);
}