/* Mercedes-Benz Design System */ /* Einheitliches Design für alle Seiten mit Glassmorphism und Mercedes-Farben */ :root { /* Mercedes Primärfarben */ --mb-black: #000000; --mb-silver: #C0C0C0; --mb-platinum: #E5E4E2; --mb-charcoal: #36454F; --mb-steel: #71797E; /* Light Mode Farben */ --bg-primary-light: #ffffff; --bg-secondary-light: #f8fafc; --bg-tertiary-light: #f1f5f9; --text-primary-light: #0f172a; --text-secondary-light: #334155; --text-muted-light: #64748b; --border-light: #e2e8f0; /* Dark Mode Farben - Mercedes Tiefschwarz */ --bg-primary-dark: #000000; --bg-secondary-dark: #0a0a0a; --bg-tertiary-dark: #141414; --text-primary-dark: #ffffff; --text-secondary-dark: #e2e8f0; --text-muted-dark: #94a3b8; --border-dark: #1e1e1e; /* Glassmorphism */ --glass-bg-light: rgba(255, 255, 255, 0.8); --glass-bg-dark: rgba(0, 0, 0, 0.8); --glass-border-light: rgba(255, 255, 255, 0.2); --glass-border-dark: rgba(255, 255, 255, 0.1); /* Spacing System */ --space-xs: 0.5rem; --space-sm: 1rem; --space-md: 1.5rem; --space-lg: 2rem; --space-xl: 3rem; --space-2xl: 4rem; --space-3xl: 6rem; /* Radius System */ --radius-sm: 0.5rem; --radius-md: 1rem; --radius-lg: 1.5rem; --radius-xl: 2rem; /* Shadow System */ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); --shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, 0.37); } /* Base Styles */ * { box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; transition: background-color 0.3s ease, color 0.3s ease; } /* Light Mode */ :root:not(.dark) { color-scheme: light; } body:not(.dark) { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); color: var(--text-primary-light); } /* Dark Mode - Mercedes Tiefschwarz */ .dark { color-scheme: dark; } .dark body { background: linear-gradient(135deg, var(--bg-primary-dark) 0%, var(--bg-secondary-dark) 100%); color: var(--text-primary-dark); } /* Container System */ .mercedes-container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-md); } .mercedes-container-wide { max-width: 1400px; margin: 0 auto; padding: 0 var(--space-md); } .mercedes-container-narrow { max-width: 800px; margin: 0 auto; padding: 0 var(--space-md); } /* Glassmorphism Cards */ .glass-card { background: var(--glass-bg-light); border: 1px solid var(--glass-border-light); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: var(--radius-lg); box-shadow: var(--shadow-glass); padding: var(--space-lg); margin: var(--space-md) 0; transition: all 0.3s ease; } .dark .glass-card { background: var(--glass-bg-dark); border: 1px solid var(--glass-border-dark); box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.7); } .glass-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2xl); } .dark .glass-card:hover { box-shadow: 0 32px 64px 0 rgba(0, 0, 0, 0.8); } /* Premium Card Variants */ .glass-card-hero { background: var(--glass-bg-light); border: 1px solid var(--glass-border-light); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-radius: var(--radius-xl); padding: var(--space-3xl); margin: var(--space-xl) 0; position: relative; overflow: hidden; } .dark .glass-card-hero { background: rgba(0, 0, 0, 0.9); border: 1px solid rgba(255, 255, 255, 0.05); } .glass-card-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); } .dark .glass-card-hero::before { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); } /* Text Styles */ .mercedes-title { font-size: 3rem; font-weight: 700; line-height: 1.1; margin-bottom: var(--space-md); background: linear-gradient(135deg, var(--text-primary-light) 0%, var(--text-secondary-light) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .dark .mercedes-title { background: linear-gradient(135deg, var(--text-primary-dark) 0%, var(--text-secondary-dark) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .mercedes-subtitle { font-size: 1.25rem; color: var(--text-secondary-light); margin-bottom: var(--space-lg); line-height: 1.6; } .dark .mercedes-subtitle { color: var(--text-secondary-dark); } .mercedes-text { color: var(--text-primary-light); line-height: 1.6; margin-bottom: var(--space-md); } .dark .mercedes-text { color: var(--text-primary-dark); } .mercedes-text-muted { color: var(--text-muted-light); font-size: 0.875rem; } .dark .mercedes-text-muted { color: var(--text-muted-dark); } /* Button System */ .mercedes-btn { display: inline-flex; align-items: center; justify-content: center; padding: var(--space-sm) var(--space-lg); font-weight: 600; border-radius: var(--radius-md); transition: all 0.3s ease; text-decoration: none; border: none; cursor: pointer; position: relative; overflow: hidden; } .mercedes-btn-primary { background: linear-gradient(135deg, var(--mb-black) 0%, var(--mb-charcoal) 100%); color: white; box-shadow: var(--shadow-md); } .mercedes-btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-xl); } .dark .mercedes-btn-primary { background: linear-gradient(135deg, #ffffff 0%, var(--mb-silver) 100%); color: var(--mb-black); } .mercedes-btn-secondary { background: var(--glass-bg-light); border: 1px solid var(--glass-border-light); backdrop-filter: blur(10px); color: var(--text-primary-light); } .dark .mercedes-btn-secondary { background: var(--glass-bg-dark); border: 1px solid var(--glass-border-dark); color: var(--text-primary-dark); } .mercedes-btn-secondary:hover { background: rgba(255, 255, 255, 0.9); transform: translateY(-2px); } .dark .mercedes-btn-secondary:hover { background: rgba(255, 255, 255, 0.1); } /* Form Elements */ .mercedes-input { width: 100%; padding: var(--space-sm) var(--space-md); border: 1px solid var(--border-light); border-radius: var(--radius-md); background: var(--glass-bg-light); backdrop-filter: blur(10px); color: var(--text-primary-light); transition: all 0.3s ease; margin-bottom: var(--space-sm); } .dark .mercedes-input { border: 1px solid var(--border-dark); background: rgba(255, 255, 255, 0.05); color: var(--text-primary-dark); } .mercedes-input:focus { outline: none; border-color: var(--mb-charcoal); box-shadow: 0 0 0 3px rgba(54, 69, 79, 0.1); } .dark .mercedes-input:focus { border-color: var(--mb-silver); box-shadow: 0 0 0 3px rgba(192, 192, 192, 0.1); } /* Status Indicators */ .mercedes-status { display: inline-flex; align-items: center; padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-sm); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .mercedes-status-online { background: rgba(16, 185, 129, 0.1); color: #059669; border: 1px solid rgba(16, 185, 129, 0.2); } .mercedes-status-offline { background: rgba(239, 68, 68, 0.1); color: #dc2626; border: 1px solid rgba(239, 68, 68, 0.2); } .mercedes-status-warning { background: rgba(245, 158, 11, 0.1); color: #d97706; border: 1px solid rgba(245, 158, 11, 0.2); } /* Grid System */ .mercedes-grid { display: grid; gap: var(--space-lg); margin: var(--space-lg) 0; } .mercedes-grid-1 { grid-template-columns: 1fr; } .mercedes-grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .mercedes-grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); } .mercedes-grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } /* Responsive Breakpoints */ @media (max-width: 768px) { .mercedes-container, .mercedes-container-wide, .mercedes-container-narrow { padding: 0 var(--space-sm); } .glass-card { padding: var(--space-md); } .glass-card-hero { padding: var(--space-xl); } .mercedes-title { font-size: 2rem; } .mercedes-grid-2, .mercedes-grid-3, .mercedes-grid-4 { grid-template-columns: 1fr; } } /* Page Sections */ .mercedes-header { padding: var(--space-2xl) 0; text-align: center; position: relative; } .mercedes-section { padding: var(--space-xl) 0; } .mercedes-footer { padding: var(--space-xl) 0 var(--space-lg) 0; border-top: 1px solid var(--border-light); margin-top: var(--space-3xl); } .dark .mercedes-footer { border-top: 1px solid var(--border-dark); } /* Loading States */ .mercedes-loading { display: inline-flex; align-items: center; justify-content: center; padding: var(--space-md); } .mercedes-spinner { width: 1.5rem; height: 1.5rem; border: 2px solid transparent; border-top: 2px solid var(--mb-charcoal); border-radius: 50%; animation: spin 1s linear infinite; } .dark .mercedes-spinner { border-top-color: var(--mb-silver); } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideIn { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } } .mercedes-fade-in { animation: fadeIn 0.6s ease-out; } .mercedes-slide-in { animation: slideIn 0.6s ease-out; } /* Utility Classes */ .mercedes-text-center { text-align: center; } .mercedes-text-left { text-align: left; } .mercedes-text-right { text-align: right; } .mercedes-mb-sm { margin-bottom: var(--space-sm); } .mercedes-mb-md { margin-bottom: var(--space-md); } .mercedes-mb-lg { margin-bottom: var(--space-lg); } .mercedes-mb-xl { margin-bottom: var(--space-xl); } .mercedes-mt-sm { margin-top: var(--space-sm); } .mercedes-mt-md { margin-top: var(--space-md); } .mercedes-mt-lg { margin-top: var(--space-lg); } .mercedes-mt-xl { margin-top: var(--space-xl); } .mercedes-p-sm { padding: var(--space-sm); } .mercedes-p-md { padding: var(--space-md); } .mercedes-p-lg { padding: var(--space-lg); } .mercedes-p-xl { padding: var(--space-xl); } /* Hide scrollbar but allow scrolling */ .mercedes-scrollbar-hidden::-webkit-scrollbar { display: none; } .mercedes-scrollbar-hidden { -ms-overflow-style: none; scrollbar-width: none; }