Spaces:
Running
Running
| /* GreenPlus by GXS Global Styles - Enhanced Green Theme */ | |
| /* CSS Custom Properties - Design Tokens */ | |
| :root { | |
| /* Primary Green Palette */ | |
| --color-forest-deep: #1a3d0f; | |
| --color-forest-primary: #2d5016; | |
| --color-nature-green: #4a7c23; | |
| --color-sage-green: #6b8e3d; | |
| --color-mint-light: #a8e6a3; | |
| --color-eco-soft: #e8f5e8; | |
| --color-eco-lighter: #f0f9f0; | |
| --color-eco-lightest: #f8fdf8; | |
| /* Supporting Colors */ | |
| --color-ocean-blue: #2196F3; | |
| --color-earth-brown: #8D6E63; | |
| --color-sky-blue: #87CEEB; | |
| --color-sunset-orange: #FF9800; | |
| --color-warning-red: #f44336; | |
| --color-success-green: #4CAF50; | |
| /* Neutral Colors */ | |
| --color-white: #ffffff; | |
| --color-gray-50: #f9fafb; | |
| --color-gray-100: #f3f4f6; | |
| --color-gray-200: #e5e7eb; | |
| --color-gray-300: #d1d5db; | |
| --color-gray-400: #9ca3af; | |
| --color-gray-500: #6b7280; | |
| --color-gray-600: #4b5563; | |
| --color-gray-700: #374151; | |
| --color-gray-800: #1f2937; | |
| --color-gray-900: #111827; | |
| /* Typography */ | |
| --font-family-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; | |
| --font-family-mono: 'JetBrains Mono', 'Fira Code', monospace; | |
| /* Font Sizes */ | |
| --font-size-xs: 0.75rem; /* 12px */ | |
| --font-size-sm: 0.875rem; /* 14px */ | |
| --font-size-base: 1rem; /* 16px */ | |
| --font-size-lg: 1.125rem; /* 18px */ | |
| --font-size-xl: 1.25rem; /* 20px */ | |
| --font-size-2xl: 1.5rem; /* 24px */ | |
| --font-size-3xl: 1.875rem; /* 30px */ | |
| --font-size-4xl: 2.25rem; /* 36px */ | |
| --font-size-5xl: 3rem; /* 48px */ | |
| --font-size-6xl: 3.75rem; /* 60px */ | |
| /* Font Weights */ | |
| --font-weight-light: 300; | |
| --font-weight-normal: 400; | |
| --font-weight-medium: 500; | |
| --font-weight-semibold: 600; | |
| --font-weight-bold: 700; | |
| --font-weight-extrabold: 800; | |
| /* Spacing */ | |
| --spacing-xs: 0.25rem; /* 4px */ | |
| --spacing-sm: 0.5rem; /* 8px */ | |
| --spacing-md: 1rem; /* 16px */ | |
| --spacing-lg: 1.5rem; /* 24px */ | |
| --spacing-xl: 2rem; /* 32px */ | |
| --spacing-2xl: 3rem; /* 48px */ | |
| --spacing-3xl: 4rem; /* 64px */ | |
| --spacing-4xl: 5rem; /* 80px */ | |
| /* Border Radius */ | |
| --radius-sm: 0.5rem; /* 8px */ | |
| --radius-md: 0.75rem; /* 12px */ | |
| --radius-lg: 1rem; /* 16px */ | |
| --radius-xl: 1.25rem; /* 20px */ | |
| --radius-2xl: 1.5rem; /* 24px */ | |
| --radius-full: 9999px; | |
| /* Shadows */ | |
| --shadow-sm: 0 2px 8px rgba(26, 61, 15, 0.08); | |
| --shadow-md: 0 4px 20px rgba(26, 61, 15, 0.12); | |
| --shadow-lg: 0 8px 30px rgba(26, 61, 15, 0.16); | |
| --shadow-xl: 0 12px 40px rgba(26, 61, 15, 0.20); | |
| --shadow-2xl: 0 20px 60px rgba(26, 61, 15, 0.25); | |
| /* Transitions */ | |
| --transition-fast: 0.15s ease; | |
| --transition-normal: 0.3s ease; | |
| --transition-slow: 0.5s ease; | |
| --transition-bounce: 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| /* Z-Index Scale */ | |
| --z-dropdown: 1000; | |
| --z-sticky: 1020; | |
| --z-fixed: 1030; | |
| --z-modal-backdrop: 1040; | |
| --z-modal: 1050; | |
| --z-popover: 1060; | |
| --z-tooltip: 1070; | |
| --z-toast: 1080; | |
| } | |
| /* Reset and Base Styles */ | |
| *, | |
| *::before, | |
| *::after { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| html { | |
| font-size: 16px; | |
| line-height: 1.5; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| font-family: var(--font-family-primary); | |
| font-size: var(--font-size-base); | |
| font-weight: var(--font-weight-normal); | |
| line-height: 1.6; | |
| color: var(--color-gray-800); | |
| background: linear-gradient(135deg, var(--color-eco-lightest) 0%, var(--color-eco-lighter) 100%); | |
| min-height: 100vh; | |
| overflow-x: hidden; | |
| } | |
| /* Typography Utilities */ | |
| .text-xs { font-size: var(--font-size-xs); } | |
| .text-sm { font-size: var(--font-size-sm); } | |
| .text-base { font-size: var(--font-size-base); } | |
| .text-lg { font-size: var(--font-size-lg); } | |
| .text-xl { font-size: var(--font-size-xl); } | |
| .text-2xl { font-size: var(--font-size-2xl); } | |
| .text-3xl { font-size: var(--font-size-3xl); } | |
| .text-4xl { font-size: var(--font-size-4xl); } | |
| .text-5xl { font-size: var(--font-size-5xl); } | |
| .text-6xl { font-size: var(--font-size-6xl); } | |
| .font-light { font-weight: var(--font-weight-light); } | |
| .font-normal { font-weight: var(--font-weight-normal); } | |
| .font-medium { font-weight: var(--font-weight-medium); } | |
| .font-semibold { font-weight: var(--font-weight-semibold); } | |
| .font-bold { font-weight: var(--font-weight-bold); } | |
| .font-extrabold { font-weight: var(--font-weight-extrabold); } | |
| /* Color Utilities */ | |
| .text-primary { color: var(--color-forest-primary); } | |
| .text-nature { color: var(--color-nature-green); } | |
| .text-sage { color: var(--color-sage-green); } | |
| .text-success { color: var(--color-success-green); } | |
| .text-warning { color: var(--color-sunset-orange); } | |
| .text-error { color: var(--color-warning-red); } | |
| .text-ocean { color: var(--color-ocean-blue); } | |
| .bg-primary { background-color: var(--color-forest-primary); } | |
| .bg-nature { background-color: var(--color-nature-green); } | |
| .bg-eco-soft { background-color: var(--color-eco-soft); } | |
| .bg-eco-lighter { background-color: var(--color-eco-lighter); } | |
| .bg-white { background-color: var(--color-white); } | |
| /* Layout Utilities */ | |
| .container { | |
| width: 100%; | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 0 var(--spacing-md); | |
| } | |
| .container-lg { | |
| max-width: 1400px; | |
| } | |
| .container-sm { | |
| max-width: 768px; | |
| } | |
| /* Grid System */ | |
| .grid { | |
| display: grid; | |
| gap: var(--spacing-lg); | |
| } | |
| .grid-1 { grid-template-columns: 1fr; } | |
| .grid-2 { grid-template-columns: repeat(2, 1fr); } | |
| .grid-3 { grid-template-columns: repeat(3, 1fr); } | |
| .grid-4 { grid-template-columns: repeat(4, 1fr); } | |
| .grid-auto { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } | |
| /* Flexbox Utilities */ | |
| .flex { display: flex; } | |
| .flex-col { flex-direction: column; } | |
| .flex-wrap { flex-wrap: wrap; } | |
| .items-center { align-items: center; } | |
| .items-start { align-items: flex-start; } | |
| .items-end { align-items: flex-end; } | |
| .justify-center { justify-content: center; } | |
| .justify-between { justify-content: space-between; } | |
| .justify-start { justify-content: flex-start; } | |
| .justify-end { justify-content: flex-end; } | |
| /* Spacing Utilities */ | |
| .m-0 { margin: 0; } | |
| .m-xs { margin: var(--spacing-xs); } | |
| .m-sm { margin: var(--spacing-sm); } | |
| .m-md { margin: var(--spacing-md); } | |
| .m-lg { margin: var(--spacing-lg); } | |
| .m-xl { margin: var(--spacing-xl); } | |
| .p-0 { padding: 0; } | |
| .p-xs { padding: var(--spacing-xs); } | |
| .p-sm { padding: var(--spacing-sm); } | |
| .p-md { padding: var(--spacing-md); } | |
| .p-lg { padding: var(--spacing-lg); } | |
| .p-xl { padding: var(--spacing-xl); } | |
| .mb-xs { margin-bottom: var(--spacing-xs); } | |
| .mb-sm { margin-bottom: var(--spacing-sm); } | |
| .mb-md { margin-bottom: var(--spacing-md); } | |
| .mb-lg { margin-bottom: var(--spacing-lg); } | |
| .mb-xl { margin-bottom: var(--spacing-xl); } | |
| /* Border Radius Utilities */ | |
| .rounded-sm { border-radius: var(--radius-sm); } | |
| .rounded-md { border-radius: var(--radius-md); } | |
| .rounded-lg { border-radius: var(--radius-lg); } | |
| .rounded-xl { border-radius: var(--radius-xl); } | |
| .rounded-2xl { border-radius: var(--radius-2xl); } | |
| .rounded-full { border-radius: var(--radius-full); } | |
| /* Shadow Utilities */ | |
| .shadow-sm { box-shadow: var(--shadow-sm); } | |
| .shadow-md { box-shadow: var(--shadow-md); } | |
| .shadow-lg { box-shadow: var(--shadow-lg); } | |
| .shadow-xl { box-shadow: var(--shadow-xl); } | |
| .shadow-2xl { box-shadow: var(--shadow-2xl); } | |
| /* Animation Utilities */ | |
| .transition { transition: all var(--transition-normal); } | |
| .transition-fast { transition: all var(--transition-fast); } | |
| .transition-slow { transition: all var(--transition-slow); } | |
| .transition-bounce { transition: all var(--transition-bounce); } | |
| /* Hover Effects */ | |
| .hover-lift:hover { | |
| transform: translateY(-4px); | |
| box-shadow: var(--shadow-lg); | |
| } | |
| .hover-scale:hover { | |
| transform: scale(1.02); | |
| } | |
| .hover-glow:hover { | |
| box-shadow: 0 0 20px rgba(168, 230, 163, 0.4); | |
| } | |
| /* Focus States */ | |
| .focus-ring:focus { | |
| outline: none; | |
| box-shadow: 0 0 0 3px rgba(74, 124, 35, 0.2); | |
| } | |
| /* Animations */ | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| @keyframes slideInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes slideInRight { | |
| from { | |
| opacity: 0; | |
| transform: translateX(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes pulse { | |
| 0%, 100% { | |
| opacity: 1; | |
| } | |
| 50% { | |
| opacity: 0.7; | |
| } | |
| } | |
| @keyframes spin { | |
| from { transform: rotate(0deg); } | |
| to { transform: rotate(360deg); } | |
| } | |
| @keyframes bounce { | |
| 0%, 20%, 53%, 80%, 100% { | |
| transform: translate3d(0, 0, 0); | |
| } | |
| 40%, 43% { | |
| transform: translate3d(0, -8px, 0); | |
| } | |
| 70% { | |
| transform: translate3d(0, -4px, 0); | |
| } | |
| 90% { | |
| transform: translate3d(0, -2px, 0); | |
| } | |
| } | |
| .animate-fadeIn { animation: fadeIn 0.5s ease-out; } | |
| .animate-slideInUp { animation: slideInUp 0.5s ease-out; } | |
| .animate-slideInRight { animation: slideInRight 0.3s ease-out; } | |
| .animate-pulse { animation: pulse 2s infinite; } | |
| .animate-spin { animation: spin 1s linear infinite; } | |
| .animate-bounce { animation: bounce 1s infinite; } | |
| /* Responsive Design */ | |
| @media (max-width: 640px) { | |
| .container { | |
| padding: 0 var(--spacing-sm); | |
| } | |
| .grid-2, | |
| .grid-3, | |
| .grid-4 { | |
| grid-template-columns: 1fr; | |
| } | |
| .text-6xl { font-size: var(--font-size-4xl); } | |
| .text-5xl { font-size: var(--font-size-3xl); } | |
| .text-4xl { font-size: var(--font-size-2xl); } | |
| } | |
| @media (max-width: 768px) { | |
| .grid-3, | |
| .grid-4 { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| } | |
| @media (max-width: 1024px) { | |
| .grid-4 { | |
| grid-template-columns: repeat(3, 1fr); | |
| } | |
| } | |
| /* Accessibility */ | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| } | |
| @media (prefers-contrast: high) { | |
| :root { | |
| --color-forest-primary: #000000; | |
| --color-nature-green: #2d5016; | |
| --color-gray-600: #000000; | |
| } | |
| } | |
| /* Print Styles */ | |
| @media print { | |
| body { | |
| background: white; | |
| color: black; | |
| } | |
| .no-print { | |
| display: none ; | |
| } | |
| } | |
| /* Scrollbar Styling */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--color-eco-soft); | |
| border-radius: var(--radius-sm); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--color-sage-green); | |
| border-radius: var(--radius-sm); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--color-nature-green); | |
| } | |
| /* Selection Styling */ | |
| ::selection { | |
| background: var(--color-mint-light); | |
| color: var(--color-forest-deep); | |
| } | |
| ::-moz-selection { | |
| background: var(--color-mint-light); | |
| color: var(--color-forest-deep); | |
| } |