@tailwind base; @tailwind components; @tailwind utilities; /* Custom CSS Variables */ :root { --bg-primary: #ffffff; --bg-secondary: #f8fafc; --text-primary: #0f172a; --text-secondary: #475569; --border-color: #e2e8f0; --accent-color: #3b82f6; --success-color: #10b981; --warning-color: #f59e0b; --error-color: #ef4444; --card-radius: 0.75rem; --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } /* Dark Mode Variables */ .dark { --bg-primary: #0f172a; --bg-secondary: #1e293b; --text-primary: #f8fafc; --text-secondary: #cbd5e1; --border-color: #334155; --accent-color: #3b82f6; --card-radius: 0.75rem; } /* Global Body Styles */ body { @apply font-sans antialiased; background: var(--bg-primary); color: var(--text-primary); } .dark body { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); } /* Mercedes-Schwarz Design für Jobs/Calendar/Request Seiten */ .mercedes-page-container { @apply min-h-screen transition-all duration-300; background: linear-gradient(135deg, rgba(240, 249, 255, 0.8) 0%, rgba(219, 234, 254, 0.8) 100%); } .dark .mercedes-page-container { background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(15, 23, 42, 0.95) 100%); } /* Premium Card Design für alle Seiten */ .mercedes-premium-card { @apply backdrop-blur-2xl border rounded-3xl shadow-2xl transition-all duration-500 hover:shadow-xl; background: rgba(255, 255, 255, 0.85); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.4); padding: 2rem; margin: 1.5rem; } .dark .mercedes-premium-card { background: rgba(0, 0, 0, 0.8); border: 1px solid rgba(255, 255, 255, 0.05); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.1); } /* Header Cards für Jobs/Calendar/Request */ .mercedes-page-header { @apply relative overflow-hidden rounded-3xl transition-all duration-500; background: linear-gradient(135deg, #000000 0%, #1a1a1a 25%, #333333 50%, #4a4a4a 75%, #666666 100%); padding: 3rem 2rem; margin: 1.5rem; color: white; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1); } .mercedes-page-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' width='80' height='80' opacity='0.03' fill='currentColor'%3E%3Cpath d='M58.6,4.5C53,1.6,46.7,0,40,0c-6.7,0-13,1.6-18.6,4.5v0C8.7,11.2,0,24.6,0,40c0,15.4,8.7,28.8,21.5,35.5C27,78.3,33.3,80,40,80c6.7,0,12.9-1.7,18.5-4.6C71.3,68.8,80,55.4,80,40C80,24.6,71.3,11.2,58.6,4.5z M4,40c0-13.1,7-24.5,17.5-30.9v0C26.6,6,32.5,4.2,39,4l-4.5,32.7L21.5,46.8v0L8.3,57.1C5.6,52,4,46.2,4,40z M58.6,70.8C53.1,74.1,46.8,76,40,76c-6.8,0-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9v0L40,46.6l18.6,7.5v0l12,4.9C67.6,63.9,63.4,67.9,58.6,70.8z M58.6,46.8L58.6,46.8l-12.9-10L41.1,4c6.3,0.2,12.3,2,17.4,5.1v0C69,15.4,76,26.9,76,40c0,6.2-1.5,12-4.3,17.1L58.6,46.8z'/%3E%3C/svg%3E"); background-position: center; background-repeat: repeat; background-size: 40px 40px; z-index: 0; } .mercedes-page-header > * { position: relative; z-index: 1; } /* Content Container für bessere Strukturierung */ .mercedes-content-container { @apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8; padding-top: 2rem; padding-bottom: 4rem; } /* Form Elements mit Mercedes Design */ .mercedes-form-input { @apply w-full rounded-2xl border transition-all duration-300 font-medium; padding: 1rem 1.5rem; background: rgba(255, 255, 255, 0.9); border: 1px solid rgba(229, 231, 235, 0.8); color: #0f172a; backdrop-filter: blur(10px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); } .mercedes-form-input:focus { @apply ring-4 ring-blue-500/25 border-blue-500; transform: translateY(-2px); box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.3); } .dark .mercedes-form-input { background: rgba(30, 41, 59, 0.9); border: 1px solid rgba(71, 85, 105, 0.8); color: #f8fafc; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3); } /* Premium Buttons */ .mercedes-btn-primary { @apply inline-flex items-center justify-center px-8 py-4 rounded-2xl font-semibold transition-all duration-300 transform hover:scale-105; background: linear-gradient(135deg, #000000 0%, #333333 100%); color: white; border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1); } .mercedes-btn-primary:hover { background: linear-gradient(135deg, #1a1a1a 0%, #4a4a4a 100%); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .dark .mercedes-btn-primary { background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); color: #0f172a; border: 1px solid rgba(0, 0, 0, 0.1); } .dark .mercedes-btn-primary:hover { background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .mercedes-btn-secondary { @apply inline-flex items-center justify-center px-6 py-3 rounded-xl font-medium transition-all duration-300; background: rgba(255, 255, 255, 0.9); color: #0f172a; border: 1px solid rgba(229, 231, 235, 0.8); backdrop-filter: blur(10px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); } .mercedes-btn-secondary:hover { background: rgba(255, 255, 255, 1); transform: translateY(-2px); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15); } .dark .mercedes-btn-secondary { background: rgba(30, 41, 59, 0.9); color: #f8fafc; border: 1px solid rgba(71, 85, 105, 0.8); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3); } .dark .mercedes-btn-secondary:hover { background: rgba(30, 41, 59, 1); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4); } /* Grid System für bessere Layout-Strukturierung */ .mercedes-grid { @apply grid gap-6; } .mercedes-grid-1 { @apply grid-cols-1; } .mercedes-grid-2 { @apply grid-cols-1 lg:grid-cols-2; } .mercedes-grid-3 { @apply grid-cols-1 md:grid-cols-2 lg:grid-cols-3; } .mercedes-grid-4 { @apply grid-cols-1 md:grid-cols-2 lg:grid-cols-4; } /* Spacing Utilities */ .mercedes-spacing-sm { padding: 1rem; margin: 0.75rem; } .mercedes-spacing-md { padding: 1.5rem; margin: 1rem; } .mercedes-spacing-lg { padding: 2rem; margin: 1.5rem; } .mercedes-spacing-xl { padding: 3rem; margin: 2rem; } /* Status Indicators */ .mercedes-status-indicator { @apply inline-flex items-center px-3 py-1.5 rounded-full text-sm font-medium; } .mercedes-status-online { @apply bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300; } .mercedes-status-offline { @apply bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300; } .mercedes-status-pending { @apply bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300; } /* Table Styling */ .mercedes-table { @apply w-full rounded-2xl overflow-hidden; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(20px); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1); } .dark .mercedes-table { background: rgba(0, 0, 0, 0.8); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4); } .mercedes-table th { @apply px-6 py-4 text-left text-xs font-semibold uppercase tracking-wider; background: rgba(248, 250, 252, 0.8); color: #475569; border-bottom: 1px solid rgba(226, 232, 240, 0.5); } .dark .mercedes-table th { background: rgba(15, 23, 42, 0.8); color: #94a3b8; border-bottom: 1px solid rgba(51, 65, 85, 0.5); } .mercedes-table td { @apply px-6 py-4 text-sm; color: #0f172a; border-bottom: 1px solid rgba(226, 232, 240, 0.3); } .dark .mercedes-table td { color: #f8fafc; border-bottom: 1px solid rgba(51, 65, 85, 0.3); } .mercedes-table tr:hover { background: rgba(248, 250, 252, 0.5); } .dark .mercedes-table tr:hover { background: rgba(30, 41, 59, 0.5); } /* Modal Improvements */ .mercedes-modal { @apply fixed inset-0 z-50 flex items-center justify-center; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px); } .mercedes-modal-content { @apply relative bg-white dark:bg-slate-900 rounded-3xl shadow-2xl w-full max-w-2xl max-h-[90vh] overflow-auto; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3); } .dark .mercedes-modal-content { background: rgba(0, 0, 0, 0.9); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6); } /* Responsive Improvements */ @media (max-width: 768px) { .mercedes-premium-card { padding: 1.5rem; margin: 1rem; } .mercedes-page-header { padding: 2rem 1.5rem; margin: 1rem; } .mercedes-content-container { padding-left: 1rem; padding-right: 1rem; } } /* Animation Classes */ .mercedes-fade-in { animation: mercedesFadeIn 0.6s ease-out forwards; } .mercedes-slide-up { animation: mercedesSlideUp 0.8s ease-out forwards; } @keyframes mercedesFadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes mercedesSlideUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }