344 lines
9.5 KiB
CSS
344 lines
9.5 KiB
CSS
@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);
|
|
}
|
|
} |