grubflip/admin/css/tokens.css
Sarah 05dd55e0b6 Add GrubFlip consumer app — feed, trades, chat, post, landing, admin login
Full vanilla HTML/CSS/JS consumer app with mobile-first responsive design.
Pages: feed (index), post meal, trades, messages inbox, chat, landing page,
and admin login skeleton. Uses Ava's design tokens throughout.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 05:44:30 +00:00

122 lines
3.2 KiB
CSS

/* ============================================
Grubflip Design Tokens — CSS Custom Properties
Generated from brand-tokens v2.0.0
============================================ */
:root {
/* --- Colors: Primary (Warm Orange) --- */
--gf-primary: #FF6B35;
--gf-primary-light: #FF8F66;
--gf-primary-dark: #D94E1F;
--gf-primary-bg: #FFF3ED;
/* --- Colors: Secondary (Deep Green) --- */
--gf-secondary: #2D6A4F;
--gf-secondary-light: #40916C;
--gf-secondary-dark: #1B4332;
--gf-secondary-bg: #EDF5F0;
/* --- Colors: Accent (Golden Yellow) --- */
--gf-accent: #FFBA08;
--gf-accent-light: #FFD166;
--gf-accent-dark: #E0A100;
--gf-accent-bg: #FFF8E1;
/* --- Semantic Colors --- */
--gf-success: #2ECC71;
--gf-success-bg: #EAFAF1;
--gf-warning: #F39C12;
--gf-warning-bg: #FEF5E7;
--gf-error: #E74C3C;
--gf-error-bg: #FDEDEC;
--gf-info: #3498DB;
--gf-info-bg: #EBF5FB;
/* --- Neutrals --- */
--gf-neutral-50: #FAFAFA;
--gf-neutral-100: #F5F5F5;
--gf-neutral-200: #E5E5E5;
--gf-neutral-300: #D4D4D4;
--gf-neutral-400: #A3A3A3;
--gf-neutral-500: #737373;
--gf-neutral-600: #525252;
--gf-neutral-700: #404040;
--gf-neutral-800: #262626;
--gf-neutral-900: #171717;
/* --- Backgrounds --- */
--gf-bg: #FFFFFF;
--gf-bg-subtle: #FAFAFA;
--gf-bg-muted: #F5F5F5;
--gf-bg-dark: #1A1A2E;
/* --- Typography --- */
--gf-font-heading: 'Plus Jakarta Sans', sans-serif;
--gf-font-body: 'Inter', sans-serif;
--gf-font-mono: 'JetBrains Mono', monospace;
--gf-text-xs: 0.75rem;
--gf-text-sm: 0.875rem;
--gf-text-base: 1rem;
--gf-text-lg: 1.125rem;
--gf-text-xl: 1.25rem;
--gf-text-2xl: 1.5rem;
--gf-text-3xl: 1.875rem;
--gf-text-4xl: 2.25rem;
--gf-weight-regular: 400;
--gf-weight-medium: 500;
--gf-weight-semibold: 600;
--gf-weight-bold: 700;
--gf-weight-extrabold: 800;
/* --- Spacing --- */
--gf-space-0: 0;
--gf-space-1: 0.25rem;
--gf-space-2: 0.5rem;
--gf-space-3: 0.75rem;
--gf-space-4: 1rem;
--gf-space-5: 1.25rem;
--gf-space-6: 1.5rem;
--gf-space-8: 2rem;
--gf-space-10: 2.5rem;
--gf-space-12: 3rem;
--gf-space-16: 4rem;
--gf-space-20: 5rem;
/* --- Border Radius --- */
--gf-radius-sm: 0.375rem;
--gf-radius-md: 0.5rem;
--gf-radius-lg: 0.75rem;
--gf-radius-xl: 1rem;
--gf-radius-2xl: 1.5rem;
--gf-radius-full: 9999px;
/* --- Shadows --- */
--gf-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
--gf-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
--gf-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
--gf-shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
--gf-shadow-card: 0 2px 8px rgba(0,0,0,0.08);
/* --- Animation --- */
--gf-duration-fast: 150ms;
--gf-duration-normal: 200ms;
--gf-duration-slow: 300ms;
--gf-ease: cubic-bezier(0.4, 0, 0.2, 1);
--gf-ease-out: cubic-bezier(0, 0, 0.2, 1);
--gf-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
/* --- Z-Index --- */
--gf-z-dropdown: 1000;
--gf-z-sticky: 1020;
--gf-z-fixed: 1030;
--gf-z-modal-backdrop: 1040;
--gf-z-modal: 1050;
--gf-z-toast: 1080;
/* --- Sidebar --- */
--gf-sidebar-width: 16rem;
--gf-sidebar-collapsed: 4.5rem;
--gf-navbar-height: 4rem;
}