1900 lines
57 KiB
CSS
1900 lines
57 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
/* Custom Styles für Light und Dark Mode */
|
|
@layer base {
|
|
:root {
|
|
/* Light Mode Farben */
|
|
--color-bg-primary: #ffffff;
|
|
--color-bg-secondary: #f8fafc;
|
|
--color-text-primary: #0f172a;
|
|
--color-text-secondary: #334155;
|
|
--color-text-muted: #64748b;
|
|
--color-border-primary: #e2e8f0;
|
|
--color-accent: #000000; /* Mercedes-Benz Schwarz statt Blau */
|
|
--color-accent-hover: #333333;
|
|
--color-accent-text: #ffffff;
|
|
--color-shadow: rgba(0, 0, 0, 0.1);
|
|
--card-radius: 1rem; /* Abgerundete Ecken für Karten */
|
|
}
|
|
|
|
.dark {
|
|
/* Dark Mode Farben - Noch dunkler und eleganter */
|
|
--color-bg-primary: #000000; /* Tiefes Schwarz */
|
|
--color-bg-secondary: #0a0a0a; /* Sehr dunkles Grau */
|
|
--color-text-primary: #ffffff;
|
|
--color-text-secondary: #e2e8f0;
|
|
--color-text-muted: #94a3b8;
|
|
--color-border-primary: #1a1a1a; /* Dunkler Rahmen */
|
|
--color-accent: #ffffff; /* Reines Weiß */
|
|
--color-accent-hover: #f0f0f0;
|
|
--color-accent-text: #000000;
|
|
--color-shadow: rgba(0, 0, 0, 0.8); /* Sehr dunkler Schatten */
|
|
--mb-black: #000000; /* Mercedes-Benz Schwarz */
|
|
}
|
|
|
|
body {
|
|
@apply bg-white dark:bg-black text-slate-900 dark:text-white transition-colors duration-300;
|
|
position: relative;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.dark body {
|
|
background: linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #000000 100%);
|
|
}
|
|
|
|
/* Navbar Styles - Glassmorphism ohne überlagerte Hintergründe */
|
|
nav {
|
|
@apply bg-white/60 dark:bg-black/60 backdrop-blur-xl border-b border-gray-200/70 dark:border-slate-700/20 shadow-lg transition-all duration-300;
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Benutzer-Dropdown Styles */
|
|
#user-dropdown {
|
|
@apply absolute right-0 mt-2 w-64 bg-white/60 dark:bg-black/60 backdrop-blur-xl border border-gray-200/70 dark:border-slate-700/20 rounded-xl shadow-2xl transition-all duration-200 z-50;
|
|
backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
animation: fadeIn 0.2s ease-out forwards;
|
|
}
|
|
}
|
|
|
|
/* Admin Panel spezifische Styles */
|
|
@layer components {
|
|
/* Dark Mode Styles für Admin Panel */
|
|
.dark .bg-dark-card {
|
|
@apply bg-dark-surface transition-colors;
|
|
}
|
|
|
|
/* Alternative direkte Definition ohne Zirkularität */
|
|
.bg-dark-surface {
|
|
background-color: #1e293b;
|
|
}
|
|
|
|
/* Übergangseffekt für alle Komponenten */
|
|
.transition-all-colors {
|
|
@apply transition-colors duration-300;
|
|
}
|
|
|
|
/* Admin Panel Container */
|
|
.admin-container {
|
|
@apply max-w-7xl mx-auto p-4 md:p-8;
|
|
}
|
|
|
|
/* Admin Stats Cards */
|
|
.admin-stats {
|
|
@apply grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-8;
|
|
}
|
|
|
|
.stat-card {
|
|
@apply bg-white/60 dark:bg-black/70 rounded-xl border border-gray-200/60 dark:border-slate-700/30 p-5 relative overflow-hidden shadow-2xl hover:shadow-2xl transition-all duration-300 hover:-translate-y-1 backdrop-blur-xl;
|
|
backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.stat-icon {
|
|
@apply absolute top-4 right-4 opacity-15 text-4xl;
|
|
}
|
|
|
|
.stat-title {
|
|
@apply text-sm text-slate-500 dark:text-slate-400 mb-2 font-medium uppercase;
|
|
}
|
|
|
|
.stat-value {
|
|
@apply text-2xl font-bold text-slate-900 dark:text-white mb-1;
|
|
}
|
|
|
|
.stat-desc {
|
|
@apply text-sm text-slate-500 dark:text-slate-400;
|
|
}
|
|
|
|
/* Navigation Tabs */
|
|
.nav-tabs {
|
|
@apply flex border-b border-gray-200 dark:border-slate-700/30 mb-4 overflow-x-auto;
|
|
}
|
|
|
|
.nav-tab {
|
|
@apply py-4 px-6 text-slate-600 dark:text-slate-300 border-b-2 border-transparent cursor-pointer transition-all duration-200 whitespace-nowrap hover:text-slate-900 dark:hover:text-white hover:bg-slate-50 dark:hover:bg-slate-800/50;
|
|
}
|
|
|
|
.nav-tab.active {
|
|
@apply text-slate-900 dark:text-white border-b-2 border-black dark:border-white font-medium;
|
|
}
|
|
|
|
/* Tab Content */
|
|
.tab-content {
|
|
@apply mt-8;
|
|
}
|
|
|
|
.tab-pane {
|
|
@apply hidden;
|
|
}
|
|
|
|
.tab-pane.active {
|
|
@apply block;
|
|
}
|
|
|
|
/* Formulare für Admin Panel */
|
|
.form-group {
|
|
@apply mb-4;
|
|
}
|
|
|
|
.form-label {
|
|
@apply block mb-2 text-sm font-medium text-slate-700 dark:text-slate-300;
|
|
}
|
|
|
|
.form-input,
|
|
.form-select,
|
|
.form-textarea {
|
|
@apply w-full px-3 py-2 bg-white/60 dark:bg-slate-800/60 border border-gray-300/60 dark:border-slate-600/60 rounded-lg text-slate-900 dark:text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:border-transparent transition-all duration-200 backdrop-blur-lg;
|
|
backdrop-filter: blur(16px) saturate(150%);
|
|
-webkit-backdrop-filter: blur(16px) saturate(150%);
|
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Tabellen im Admin Panel */
|
|
.admin-table {
|
|
@apply min-w-full divide-y divide-gray-200 dark:divide-slate-700;
|
|
}
|
|
|
|
.admin-table thead {
|
|
@apply bg-slate-50 dark:bg-slate-800;
|
|
}
|
|
|
|
.admin-table th {
|
|
@apply px-6 py-3 text-left text-xs font-medium text-slate-500 dark:text-slate-400 uppercase tracking-wider;
|
|
}
|
|
|
|
.admin-table tbody {
|
|
@apply bg-white dark:bg-dark-surface divide-y divide-gray-200 dark:divide-slate-700;
|
|
}
|
|
|
|
.admin-table tr {
|
|
@apply hover:bg-slate-50 dark:hover:bg-slate-700/50 transition-colors;
|
|
}
|
|
|
|
.admin-table td {
|
|
@apply px-6 py-4 whitespace-nowrap text-sm text-slate-900 dark:text-white;
|
|
}
|
|
|
|
/* Status Badges */
|
|
.badge {
|
|
@apply px-2 inline-flex text-xs leading-5 font-semibold rounded-full;
|
|
}
|
|
|
|
.badge-success {
|
|
@apply bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200;
|
|
}
|
|
|
|
.badge-error {
|
|
@apply bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200;
|
|
}
|
|
|
|
.badge-warning {
|
|
@apply bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200;
|
|
}
|
|
|
|
.badge-info {
|
|
@apply bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200;
|
|
}
|
|
|
|
/* Drucker-Karten */
|
|
.printer-card {
|
|
@apply bg-white/60 dark:bg-black/70 rounded-xl border border-gray-200/60 dark:border-slate-700/30 p-6 shadow-2xl hover:shadow-2xl transition-all duration-300 hover:-translate-y-1 backdrop-blur-xl;
|
|
backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.printer-header {
|
|
@apply flex justify-between items-center mb-4;
|
|
}
|
|
|
|
.printer-name {
|
|
@apply text-xl font-bold text-slate-900 dark:text-white;
|
|
}
|
|
|
|
.printer-actions {
|
|
@apply flex space-x-2;
|
|
}
|
|
|
|
.printer-info {
|
|
@apply grid grid-cols-2 gap-4 mb-4;
|
|
}
|
|
|
|
.printer-status {
|
|
@apply flex items-center mt-4;
|
|
}
|
|
|
|
/* Status Indikatoren */
|
|
.status-indicator {
|
|
@apply w-3 h-3 rounded-full mr-2;
|
|
}
|
|
|
|
.status-running {
|
|
@apply bg-green-500;
|
|
animation: pulse 2s infinite;
|
|
}
|
|
|
|
.status-stopped {
|
|
@apply bg-red-500;
|
|
}
|
|
|
|
/* Pulse Animation */
|
|
@keyframes pulse {
|
|
0% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 0.5;
|
|
transform: scale(1.1);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
/* Log-Einträge */
|
|
.log-entry {
|
|
@apply p-3 border-l-4 mb-2 rounded-r-lg bg-white dark:bg-slate-800 hover:bg-slate-50 dark:hover:bg-slate-700 transition-colors;
|
|
}
|
|
|
|
.log-debug {
|
|
@apply border-gray-400 dark:border-gray-500;
|
|
}
|
|
|
|
.log-info {
|
|
@apply border-blue-400 dark:border-blue-500;
|
|
}
|
|
|
|
.log-warning {
|
|
@apply border-yellow-400 dark:border-yellow-500;
|
|
}
|
|
|
|
.log-error {
|
|
@apply border-red-400 dark:border-red-500;
|
|
}
|
|
|
|
.log-critical {
|
|
@apply border-purple-400 dark:border-purple-500;
|
|
}
|
|
|
|
/* Scheduler Status */
|
|
.scheduler-status {
|
|
@apply flex items-center p-4 bg-white dark:bg-slate-800 rounded-lg border border-gray-200 dark:border-slate-700 shadow-md;
|
|
}
|
|
|
|
/* Fortschrittsbalken */
|
|
.progress-bar {
|
|
@apply w-full h-2 bg-gray-200 dark:bg-slate-700 rounded-full overflow-hidden;
|
|
}
|
|
|
|
.progress-bar-fill {
|
|
@apply h-full transition-all duration-300;
|
|
}
|
|
|
|
.progress-bar-fill-blue {
|
|
@apply bg-blue-500 dark:bg-blue-600;
|
|
}
|
|
|
|
.progress-bar-fill-green {
|
|
@apply bg-green-500 dark:bg-green-600;
|
|
}
|
|
|
|
.progress-bar-fill-purple {
|
|
@apply bg-purple-500 dark:bg-purple-600;
|
|
}
|
|
|
|
/* Benachrichtigungen */
|
|
.notification {
|
|
@apply fixed top-4 right-4 max-w-md p-4 rounded-lg shadow-lg transform translate-x-full opacity-0 transition-all duration-300 z-50 bg-white dark:bg-slate-800 border-l-4;
|
|
}
|
|
|
|
.notification.show {
|
|
@apply translate-x-0 opacity-100;
|
|
}
|
|
|
|
.notification-success {
|
|
@apply border-green-500;
|
|
}
|
|
|
|
.notification-error {
|
|
@apply border-red-500;
|
|
}
|
|
|
|
.notification-warning {
|
|
@apply border-yellow-500;
|
|
}
|
|
|
|
.notification-info {
|
|
@apply border-blue-500;
|
|
}
|
|
|
|
/* Alerts */
|
|
.alert {
|
|
@apply p-4 rounded-lg border mb-4;
|
|
}
|
|
|
|
.alert-success {
|
|
@apply bg-green-50 border-green-500 text-green-800 dark:bg-green-900/30 dark:text-green-200;
|
|
}
|
|
|
|
.alert-error {
|
|
@apply bg-red-50 border-red-500 text-red-800 dark:bg-red-900/30 dark:text-red-200;
|
|
}
|
|
|
|
.alert-warning {
|
|
@apply bg-yellow-50 border-yellow-500 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-200;
|
|
}
|
|
|
|
.alert-info {
|
|
@apply bg-blue-50 border-blue-500 text-blue-800 dark:bg-blue-900/30 dark:text-blue-200;
|
|
}
|
|
}
|
|
|
|
/* Glassmorphism Flash Messages */
|
|
.flash-message {
|
|
@apply fixed top-4 right-4 px-6 py-4 rounded-2xl text-sm font-medium shadow-2xl transform transition-all duration-500 z-50 border;
|
|
/* Verstärkter Glassmorphism-Effekt */
|
|
background: rgba(255, 255, 255, 0.08);
|
|
backdrop-filter: blur(40px) saturate(200%) brightness(130%) contrast(110%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(200%) brightness(130%) contrast(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.25);
|
|
box-shadow:
|
|
0 32px 64px rgba(0, 0, 0, 0.25),
|
|
0 12px 24px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.4),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
animation: flash-slide-in 0.5s cubic-bezier(0.4, 0, 0.2, 1);
|
|
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.dark .flash-message {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
backdrop-filter: blur(40px) saturate(180%) brightness(120%) contrast(115%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(180%) brightness(120%) contrast(115%);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 32px 64px rgba(0, 0, 0, 0.6),
|
|
0 12px 24px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.flash-message:hover {
|
|
transform: translateY(-2px) scale(1.02);
|
|
box-shadow:
|
|
0 40px 80px rgba(0, 0, 0, 0.3),
|
|
0 16px 32px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.5),
|
|
0 0 0 1px rgba(255, 255, 255, 0.15);
|
|
}
|
|
|
|
.dark .flash-message:hover {
|
|
box-shadow:
|
|
0 40px 80px rgba(0, 0, 0, 0.7),
|
|
0 16px 32px rgba(0, 0, 0, 0.5),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.flash-message.info {
|
|
@apply text-blue-100;
|
|
background: linear-gradient(135deg,
|
|
rgba(59, 130, 246, 0.2) 0%,
|
|
rgba(147, 197, 253, 0.15) 50%,
|
|
rgba(59, 130, 246, 0.1) 100%);
|
|
border: 1px solid rgba(59, 130, 246, 0.3);
|
|
}
|
|
|
|
.flash-message.success {
|
|
@apply text-green-100;
|
|
background: linear-gradient(135deg,
|
|
rgba(34, 197, 94, 0.2) 0%,
|
|
rgba(134, 239, 172, 0.15) 50%,
|
|
rgba(34, 197, 94, 0.1) 100%);
|
|
border: 1px solid rgba(34, 197, 94, 0.3);
|
|
}
|
|
|
|
.flash-message.warning {
|
|
@apply text-yellow-100;
|
|
background: linear-gradient(135deg,
|
|
rgba(245, 158, 11, 0.2) 0%,
|
|
rgba(252, 211, 77, 0.15) 50%,
|
|
rgba(245, 158, 11, 0.1) 100%);
|
|
border: 1px solid rgba(245, 158, 11, 0.3);
|
|
}
|
|
|
|
.flash-message.error {
|
|
@apply text-red-100;
|
|
background: linear-gradient(135deg,
|
|
rgba(239, 68, 68, 0.2) 0%,
|
|
rgba(252, 165, 165, 0.15) 50%,
|
|
rgba(239, 68, 68, 0.1) 100%);
|
|
border: 1px solid rgba(239, 68, 68, 0.3);
|
|
}
|
|
|
|
/* Flash Message Animation */
|
|
@keyframes flash-slide-in {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(100%) translateY(-20px) scale(0.9);
|
|
backdrop-filter: blur(0px);
|
|
}
|
|
50% {
|
|
opacity: 0.8;
|
|
transform: translateX(20px) translateY(-10px) scale(1.05);
|
|
backdrop-filter: blur(20px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0) translateY(0) scale(1);
|
|
backdrop-filter: blur(40px);
|
|
}
|
|
}
|
|
|
|
@keyframes flash-slide-out {
|
|
0% {
|
|
opacity: 1;
|
|
transform: translateX(0) translateY(0) scale(1);
|
|
}
|
|
100% {
|
|
opacity: 0;
|
|
transform: translateX(100%) translateY(-20px) scale(0.9);
|
|
}
|
|
}
|
|
|
|
.flash-message.hiding {
|
|
animation: flash-slide-out 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
}
|
|
|
|
/* Do Not Disturb System Styles */
|
|
.dnd-toggle {
|
|
@apply relative inline-flex items-center h-6 rounded-full w-11 transition-colors duration-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500;
|
|
background: rgba(156, 163, 175, 0.3);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(156, 163, 175, 0.2);
|
|
}
|
|
|
|
.dnd-toggle.active {
|
|
background: rgba(239, 68, 68, 0.3);
|
|
border: 1px solid rgba(239, 68, 68, 0.4);
|
|
}
|
|
|
|
.dnd-toggle-slider {
|
|
@apply inline-block h-4 w-4 rounded-full shadow-lg transform transition-transform duration-300;
|
|
background: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 4px 8px rgba(0, 0, 0, 0.2),
|
|
0 2px 4px rgba(0, 0, 0, 0.1);
|
|
margin: 0.125rem;
|
|
}
|
|
|
|
.dnd-toggle.active .dnd-toggle-slider {
|
|
transform: translateX(1.25rem);
|
|
background: rgba(255, 255, 255, 1);
|
|
box-shadow:
|
|
0 6px 12px rgba(239, 68, 68, 0.3),
|
|
0 3px 6px rgba(239, 68, 68, 0.2);
|
|
}
|
|
|
|
.dnd-indicator {
|
|
@apply fixed top-4 left-4 z-50 flex items-center px-3 py-2 rounded-lg text-sm font-medium transition-all duration-300;
|
|
background: rgba(239, 68, 68, 0.1);
|
|
backdrop-filter: blur(20px) saturate(150%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(150%);
|
|
border: 1px solid rgba(239, 68, 68, 0.3);
|
|
color: rgb(239, 68, 68);
|
|
transform: translateY(-100%);
|
|
opacity: 0;
|
|
}
|
|
|
|
.dnd-indicator.active {
|
|
transform: translateY(0);
|
|
opacity: 1;
|
|
}
|
|
|
|
.dnd-modal {
|
|
@apply fixed inset-0 z-50 flex items-center justify-center p-4;
|
|
background: rgba(0, 0, 0, 0.3);
|
|
backdrop-filter: blur(20px);
|
|
-webkit-backdrop-filter: blur(20px);
|
|
}
|
|
|
|
.dnd-modal-content {
|
|
@apply w-full max-w-md rounded-2xl p-6 shadow-2xl transform transition-all;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(40px) saturate(200%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(200%) brightness(120%);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.25),
|
|
0 8px 16px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.4);
|
|
}
|
|
|
|
.dark .dnd-modal-content {
|
|
background: rgba(0, 0, 0, 0.3);
|
|
backdrop-filter: blur(40px) saturate(180%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(180%) brightness(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.6),
|
|
0 8px 16px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* DND Flash Message Override */
|
|
.flash-message.dnd-suppressed {
|
|
animation: flash-fade-in 0.3s ease-out;
|
|
opacity: 0.3;
|
|
transform: scale(0.95);
|
|
pointer-events: none;
|
|
}
|
|
|
|
@keyframes flash-fade-in {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(0.9);
|
|
}
|
|
100% {
|
|
opacity: 0.3;
|
|
transform: scale(0.95);
|
|
}
|
|
}
|
|
|
|
/* Notification Counter */
|
|
.dnd-counter {
|
|
@apply absolute -top-2 -right-2 bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center font-bold;
|
|
background: rgba(239, 68, 68, 0.9);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
animation: dnd-counter-bounce 0.5s ease-out;
|
|
}
|
|
|
|
@keyframes dnd-counter-bounce {
|
|
0% {
|
|
transform: scale(0);
|
|
}
|
|
50% {
|
|
transform: scale(1.2);
|
|
}
|
|
100% {
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes slide-down {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(-20px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
/* Mercedes Background Pattern */
|
|
.mercedes-background::before {
|
|
content: '';
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: -1;
|
|
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: 120px 120px;
|
|
pointer-events: none;
|
|
opacity: 0.03;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.dark .mercedes-background::before {
|
|
opacity: 0.015; /* Sehr subtil für eleganten Dark Mode */
|
|
filter: invert(1) brightness(0.3);
|
|
background-size: 150px 150px; /* Größere Sterne für bessere Sichtbarkeit */
|
|
}
|
|
|
|
/* Monochrome Button Styles */
|
|
@layer components {
|
|
/* Buttons mit verstärktem Glassmorphism */
|
|
.btn-primary {
|
|
@apply text-white dark:text-slate-900 px-4 py-2 rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 shadow-2xl hover:-translate-y-0.5;
|
|
background: rgba(0, 0, 0, 0.7);
|
|
backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.3),
|
|
0 8px 16px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background: rgba(0, 0, 0, 0.9);
|
|
backdrop-filter: blur(25px) saturate(180%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(25px) saturate(180%) brightness(120%);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.4),
|
|
0 10px 20px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.dark .btn-primary {
|
|
background: rgba(255, 255, 255, 0.7);
|
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.2),
|
|
0 8px 16px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.8),
|
|
0 0 0 1px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.dark .btn-primary:hover {
|
|
background: rgba(255, 255, 255, 0.9);
|
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.3),
|
|
0 10px 20px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
|
}
|
|
|
|
.btn-secondary {
|
|
@apply text-slate-900 dark:text-white px-4 py-2 rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2 shadow-2xl hover:-translate-y-0.5;
|
|
background: rgba(255, 255, 255, 0.3);
|
|
backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.15),
|
|
0 8px 16px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.5),
|
|
0 0 0 1px rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
.btn-secondary:hover {
|
|
background: rgba(255, 255, 255, 0.5);
|
|
backdrop-filter: blur(25px) saturate(180%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(25px) saturate(180%) brightness(120%);
|
|
border: 1px solid rgba(255, 255, 255, 0.6);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.2),
|
|
0 10px 20px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
.dark .btn-secondary {
|
|
background: rgba(0, 0, 0, 0.4);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.3),
|
|
0 8px 16px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.dark .btn-secondary:hover {
|
|
background: rgba(0, 0, 0, 0.6);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.4),
|
|
0 10px 20px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.btn-outline {
|
|
@apply border-2 border-black/70 hover:bg-black/70 dark:border-white/70 dark:hover:bg-white/70 text-black hover:text-white dark:text-white dark:hover:text-slate-900 px-4 py-2 rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 backdrop-blur-lg;
|
|
backdrop-filter: blur(16px) saturate(150%);
|
|
-webkit-backdrop-filter: blur(16px) saturate(150%);
|
|
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Glassmorphism Card mit abgerundeten Ecken - Verstärkt */
|
|
.glass-card {
|
|
@apply rounded-xl p-6 shadow-2xl transition-all duration-300;
|
|
background: rgba(255, 255, 255, 0.15);
|
|
backdrop-filter: blur(30px) saturate(200%) brightness(120%) contrast(110%);
|
|
-webkit-backdrop-filter: blur(30px) saturate(200%) brightness(120%) contrast(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.15),
|
|
0 8px 16px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
border-radius: var(--card-radius);
|
|
}
|
|
|
|
.dark .glass-card {
|
|
background: rgba(0, 0, 0, 0.3);
|
|
backdrop-filter: blur(30px) saturate(180%) brightness(110%) contrast(120%);
|
|
-webkit-backdrop-filter: blur(30px) saturate(180%) brightness(110%) contrast(120%);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.4),
|
|
0 8px 16px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.15),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Dashboard Cards mit verstärktem Glassmorphism */
|
|
.dashboard-card {
|
|
@apply rounded-xl p-6 shadow-2xl transition-all duration-300 hover:-translate-y-1;
|
|
background: rgba(255, 255, 255, 0.12);
|
|
backdrop-filter: blur(35px) saturate(200%) brightness(125%) contrast(115%);
|
|
-webkit-backdrop-filter: blur(35px) saturate(200%) brightness(125%) contrast(115%);
|
|
border: 1px solid rgba(255, 255, 255, 0.25);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.15),
|
|
0 8px 16px rgba(0, 0, 0, 0.08),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.25),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
border-radius: var(--card-radius);
|
|
}
|
|
|
|
.dark .dashboard-card {
|
|
background: rgba(0, 0, 0, 0.35);
|
|
backdrop-filter: blur(35px) saturate(180%) brightness(115%) contrast(125%);
|
|
-webkit-backdrop-filter: blur(35px) saturate(180%) brightness(115%) contrast(125%);
|
|
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.5),
|
|
0 8px 16px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.12),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Navigation Styles */
|
|
.nav-link {
|
|
@apply flex items-center px-4 py-2 rounded-lg text-sm font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2 text-slate-700 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-700/50 hover:shadow-md;
|
|
}
|
|
|
|
.nav-link.active {
|
|
@apply text-slate-900 dark:text-white bg-slate-100 dark:bg-black shadow-sm;
|
|
}
|
|
|
|
/* Verbesserte Navbar Styles - Verstärktes Glassmorphism */
|
|
.navbar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.5rem 1rem;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(10px);
|
|
border-radius: 10px;
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.navbar-button {
|
|
padding: 0.25rem 0.5rem;
|
|
font-size: 0.875rem;
|
|
border-radius: 5px;
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.navbar-button:hover {
|
|
background-color: rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.navbar {
|
|
flex-direction: column;
|
|
padding: 0.25rem;
|
|
}
|
|
.navbar-button {
|
|
margin: 0.25rem 0;
|
|
}
|
|
}
|
|
|
|
.dark .navbar {
|
|
background: rgba(0, 0, 0, 0.25);
|
|
backdrop-filter: blur(40px) saturate(180%) brightness(120%) contrast(120%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(180%) brightness(120%) contrast(120%);
|
|
box-shadow:
|
|
0 8px 32px rgba(0, 0, 0, 0.6),
|
|
0 2px 8px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.1),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.navbar-brand {
|
|
@apply flex items-center space-x-2 transition-transform duration-300 hover:scale-105;
|
|
}
|
|
|
|
.navbar-menu {
|
|
@apply flex items-center justify-center space-x-1 md:space-x-3 lg:space-x-6 p-3 mx-4 rounded-2xl border;
|
|
background: rgba(255, 255, 255, 0.25);
|
|
backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 4px 16px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.4),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.dark .navbar-menu {
|
|
background: rgba(0, 0, 0, 0.4);
|
|
backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(150%) brightness(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 4px 16px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.navbar-button {
|
|
@apply p-2 rounded-full transition-colors duration-300 focus:outline-none focus:ring-2 focus:ring-offset-2;
|
|
}
|
|
|
|
/* User Menu Styles */
|
|
.user-menu-button {
|
|
@apply flex items-center space-x-2 rounded-lg p-1 transition-all duration-300 hover:bg-gray-100/80 dark:hover:bg-slate-700/60 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2;
|
|
}
|
|
|
|
.user-avatar {
|
|
@apply w-10 h-10 bg-black dark:bg-white text-white dark:text-slate-900 rounded-full flex items-center justify-center font-bold text-sm shadow-md transition-all duration-300 hover:shadow-lg;
|
|
}
|
|
|
|
/* Avatar im Dropdown */
|
|
.avatar-large {
|
|
@apply w-14 h-14 bg-black dark:bg-white text-white dark:text-slate-900 rounded-full flex items-center justify-center font-bold text-lg shadow-md;
|
|
}
|
|
|
|
.user-dropdown-item {
|
|
@apply flex items-center px-4 py-3 text-sm text-slate-700 dark:text-slate-300 hover:bg-gray-100/80 dark:hover:bg-slate-700/60 hover:text-slate-900 dark:hover:text-white transition-all duration-300 focus:outline-none focus:bg-gray-100/80 dark:focus:bg-slate-700/60;
|
|
}
|
|
|
|
.user-dropdown-separator {
|
|
@apply border-t border-gray-200/80 dark:border-slate-700/30 my-1;
|
|
}
|
|
|
|
.menu-item {
|
|
@apply flex items-center space-x-2 px-4 py-2.5 text-slate-700 dark:text-slate-300 rounded-xl transition-all duration-300;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.menu-item:hover {
|
|
@apply text-slate-900 dark:text-white;
|
|
background: rgba(255, 255, 255, 0.3);
|
|
backdrop-filter: blur(15px) saturate(150%);
|
|
-webkit-backdrop-filter: blur(15px) saturate(150%);
|
|
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.dark .menu-item {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.dark .menu-item:hover {
|
|
background: rgba(0, 0, 0, 0.4);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.menu-item.active {
|
|
@apply text-slate-900 dark:text-white font-medium;
|
|
background: rgba(255, 255, 255, 0.5);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
border: 1px solid rgba(255, 255, 255, 0.6);
|
|
box-shadow:
|
|
0 4px 16px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
.dark .menu-item.active {
|
|
background: rgba(0, 0, 0, 0.6);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 4px 16px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* Dropdown Styles - Verstärktes Glassmorphism */
|
|
.user-dropdown {
|
|
@apply absolute right-0 mt-2 w-64 rounded-xl shadow-2xl z-50 overflow-hidden;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(40px) saturate(200%) brightness(130%) contrast(110%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(200%) brightness(130%) contrast(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.25),
|
|
0 8px 16px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.4),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
animation: fadeIn 0.2s ease-out forwards;
|
|
}
|
|
|
|
.dark .user-dropdown {
|
|
background: rgba(0, 0, 0, 0.4);
|
|
backdrop-filter: blur(40px) saturate(180%) brightness(120%) contrast(120%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(180%) brightness(120%) contrast(120%);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.6),
|
|
0 8px 16px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.dropdown-header {
|
|
@apply flex items-center p-4 border-b border-gray-200/80 dark:border-slate-700/30;
|
|
}
|
|
|
|
.dropdown-item {
|
|
@apply flex items-center gap-3 px-4 py-3 text-sm text-slate-700 dark:text-slate-300 hover:bg-gray-100/80 dark:hover:bg-slate-700/60 hover:text-slate-900 dark:hover:text-white transition-all duration-300;
|
|
}
|
|
|
|
.dropdown-divider {
|
|
@apply border-t border-gray-200/80 dark:border-slate-700/30;
|
|
}
|
|
|
|
/* Mercedes-Benz Logo Animation */
|
|
@keyframes mercedes-rotate {
|
|
0% { transform: rotate(0deg); }
|
|
25% { transform: rotate(90deg); }
|
|
50% { transform: rotate(180deg); }
|
|
75% { transform: rotate(270deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
|
|
.navbar-brand:hover svg {
|
|
animation: mercedes-rotate 5s infinite linear;
|
|
transform-origin: center;
|
|
}
|
|
}
|
|
|
|
/* Navbar Sticky Fix - Außerhalb von @layer für höhere Priorität */
|
|
.navbar {
|
|
position: -webkit-sticky !important;
|
|
position: sticky !important;
|
|
top: 0 !important;
|
|
z-index: 50 !important;
|
|
width: 100% !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
/* Verstärktes Glassmorphism Design */
|
|
--navbar-blur: 40px;
|
|
--navbar-opacity: 0.15;
|
|
background: rgba(255, 255, 255, var(--navbar-opacity, 0.15)) !important;
|
|
backdrop-filter: blur(var(--navbar-blur, 40px)) saturate(200%) brightness(110%) contrast(105%) !important;
|
|
-webkit-backdrop-filter: blur(var(--navbar-blur, 40px)) saturate(200%) brightness(110%) contrast(105%) !important;
|
|
box-shadow:
|
|
0 8px 32px rgba(0, 0, 0, 0.12),
|
|
0 2px 8px rgba(0, 0, 0, 0.08),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.15) !important;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
|
}
|
|
|
|
.dark .navbar {
|
|
--navbar-dark-opacity: 0.25;
|
|
background: rgba(0, 0, 0, var(--navbar-dark-opacity, 0.25)) !important;
|
|
backdrop-filter: blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%) !important;
|
|
-webkit-backdrop-filter: blur(calc(var(--navbar-blur, 40px) + 5px)) saturate(180%) brightness(120%) contrast(115%) !important;
|
|
box-shadow:
|
|
0 8px 32px rgba(0, 0, 0, 0.4),
|
|
0 2px 8px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.15),
|
|
0 0 0 1px rgba(255, 255, 255, 0.08) !important;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
}
|
|
|
|
/* Navbar Scroll-Effekt */
|
|
.navbar.scrolled {
|
|
--navbar-blur: 50px;
|
|
--navbar-opacity: 0.25;
|
|
background: rgba(255, 255, 255, var(--navbar-opacity, 0.25)) !important;
|
|
backdrop-filter: blur(var(--navbar-blur, 50px)) saturate(220%) brightness(115%) contrast(110%) !important;
|
|
-webkit-backdrop-filter: blur(var(--navbar-blur, 50px)) saturate(220%) brightness(115%) contrast(110%) !important;
|
|
box-shadow:
|
|
0 12px 40px rgba(0, 0, 0, 0.15),
|
|
0 4px 12px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.4),
|
|
0 0 0 1px rgba(255, 255, 255, 0.2) !important;
|
|
}
|
|
|
|
.dark .navbar.scrolled {
|
|
--navbar-dark-opacity: 0.35;
|
|
background: rgba(0, 0, 0, var(--navbar-dark-opacity, 0.35)) !important;
|
|
backdrop-filter: blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%) !important;
|
|
-webkit-backdrop-filter: blur(calc(var(--navbar-blur, 50px) + 5px)) saturate(200%) brightness(125%) contrast(120%) !important;
|
|
box-shadow:
|
|
0 12px 40px rgba(0, 0, 0, 0.5),
|
|
0 4px 12px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1) !important;
|
|
}
|
|
|
|
/* Neue Navbar-Komponenten mit verbessertem Glassmorphism */
|
|
.navbar-menu-new {
|
|
@apply flex items-center justify-center space-x-0.5 md:space-x-1;
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
scrollbar-width: none;
|
|
-ms-overflow-style: none;
|
|
/* Glassmorphism für das Menü */
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(25px) saturate(170%) brightness(108%);
|
|
-webkit-backdrop-filter: blur(25px) saturate(170%) brightness(108%);
|
|
border-radius: 16px;
|
|
padding: 8px;
|
|
margin: 0 16px;
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 6px 20px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.dark .navbar-menu-new {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
backdrop-filter: blur(30px) saturate(150%) brightness(115%);
|
|
-webkit-backdrop-filter: blur(30px) saturate(150%) brightness(115%);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 6px 20px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.1),
|
|
0 0 0 1px rgba(255, 255, 255, 0.03);
|
|
}
|
|
|
|
.navbar-menu-new::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
/* Glassmorphism Hover-Animation für Navbar-Menu */
|
|
.navbar-menu-new:hover {
|
|
backdrop-filter: blur(35px) saturate(190%) brightness(112%);
|
|
-webkit-backdrop-filter: blur(35px) saturate(190%) brightness(112%);
|
|
box-shadow:
|
|
0 8px 25px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.dark .navbar-menu-new:hover {
|
|
backdrop-filter: blur(40px) saturate(170%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(170%) brightness(120%);
|
|
box-shadow:
|
|
0 8px 25px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.15),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.nav-item {
|
|
@apply flex items-center space-x-1.5 px-3 py-2.5 rounded-xl text-sm font-medium transition-all duration-300;
|
|
color: rgba(15, 23, 42, 0.85);
|
|
/* Gläserner Nav-Item */
|
|
background: rgba(255, 255, 255, 0.08);
|
|
backdrop-filter: blur(15px) saturate(140%);
|
|
-webkit-backdrop-filter: blur(15px) saturate(140%);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 4px 12px rgba(0, 0, 0, 0.05),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
|
position: relative;
|
|
overflow: hidden;
|
|
animation: nav-item-entrance 0.6s ease-out;
|
|
}
|
|
|
|
/* Glassmorphism Hover-Effekt */
|
|
.nav-item::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: -100%;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
|
|
transition: left 0.5s;
|
|
}
|
|
|
|
.nav-item:hover::before {
|
|
left: 100%;
|
|
}
|
|
|
|
/* Zusätzlicher Glitter-Effekt */
|
|
.nav-item::after {
|
|
content: '';
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -50%;
|
|
width: 200%;
|
|
height: 200%;
|
|
background: conic-gradient(from 0deg at 50% 50%, transparent 0deg, rgba(255, 255, 255, 0.1) 30deg, transparent 60deg);
|
|
opacity: 0;
|
|
transition: opacity 0.3s ease;
|
|
pointer-events: none;
|
|
animation: rotate 3s linear infinite;
|
|
}
|
|
|
|
.nav-item:hover::after {
|
|
opacity: 1;
|
|
}
|
|
|
|
.dark .nav-item {
|
|
color: rgba(255, 255, 255, 0.85);
|
|
background: rgba(0, 0, 0, 0.15);
|
|
backdrop-filter: blur(20px) saturate(130%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(130%);
|
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
box-shadow:
|
|
0 4px 12px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
|
}
|
|
|
|
.nav-item:hover {
|
|
color: rgba(15, 23, 42, 1);
|
|
background: rgba(255, 255, 255, 0.2);
|
|
backdrop-filter: blur(25px) saturate(160%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(25px) saturate(160%) brightness(110%);
|
|
border: 1px solid rgba(255, 255, 255, 0.25);
|
|
box-shadow:
|
|
0 8px 20px rgba(0, 0, 0, 0.12),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
transform: translateY(-2px) scale(1.02);
|
|
}
|
|
|
|
.dark .nav-item:hover {
|
|
color: rgba(255, 255, 255, 1);
|
|
background: rgba(0, 0, 0, 0.25);
|
|
backdrop-filter: blur(30px) saturate(150%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(30px) saturate(150%) brightness(120%);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow:
|
|
0 8px 20px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.15),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.nav-item.active {
|
|
color: rgba(15, 23, 42, 1);
|
|
background: rgba(255, 255, 255, 0.35);
|
|
backdrop-filter: blur(35px) saturate(180%) brightness(115%);
|
|
-webkit-backdrop-filter: blur(35px) saturate(180%) brightness(115%);
|
|
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
box-shadow:
|
|
0 12px 24px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.5),
|
|
0 0 0 1px rgba(59, 130, 246, 0.3);
|
|
transform: translateY(-1px);
|
|
animation: nav-item-active-glow 2s ease-in-out infinite alternate;
|
|
}
|
|
|
|
.dark .nav-item.active {
|
|
color: rgba(255, 255, 255, 1);
|
|
background: rgba(0, 0, 0, 0.4);
|
|
backdrop-filter: blur(40px) saturate(160%) brightness(125%);
|
|
-webkit-backdrop-filter: blur(40px) saturate(160%) brightness(125%);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow:
|
|
0 12px 24px rgba(0, 0, 0, 0.4),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(59, 130, 246, 0.2);
|
|
}
|
|
|
|
/* Animationen für Glassmorphism-Effekte */
|
|
@keyframes nav-item-entrance {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(10px) scale(0.95);
|
|
backdrop-filter: blur(5px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateY(0) scale(1);
|
|
backdrop-filter: blur(15px) saturate(140%);
|
|
}
|
|
}
|
|
|
|
@keyframes nav-item-active-glow {
|
|
0% {
|
|
box-shadow:
|
|
0 12px 24px rgba(0, 0, 0, 0.15),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.5),
|
|
0 0 0 1px rgba(59, 130, 246, 0.3);
|
|
}
|
|
100% {
|
|
box-shadow:
|
|
0 16px 32px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.6),
|
|
0 0 0 2px rgba(59, 130, 246, 0.5);
|
|
}
|
|
}
|
|
|
|
@keyframes rotate {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
/* Glassmorphism-Partikel-Effekt */
|
|
.navbar::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background:
|
|
radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
|
|
radial-gradient(circle at 80% 50%, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
|
|
radial-gradient(circle at 40% 20%, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
|
|
radial-gradient(circle at 60% 80%, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
|
|
opacity: 0;
|
|
animation: glassmorphism-particles 8s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.dark .navbar::before {
|
|
background:
|
|
radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
|
|
radial-gradient(circle at 80% 50%, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
|
|
radial-gradient(circle at 40% 20%, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
|
|
radial-gradient(circle at 60% 80%, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
|
|
}
|
|
|
|
@keyframes glassmorphism-particles {
|
|
0%, 100% {
|
|
opacity: 0;
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(1.1);
|
|
}
|
|
}
|
|
|
|
/* Dark Mode Toggle - Kompakteres Design */
|
|
.dark-mode-toggle-new {
|
|
@apply relative p-2 rounded-full flex items-center justify-center transition-all duration-300 cursor-pointer;
|
|
background: rgba(241, 245, 249, 0.8);
|
|
border: 1px solid rgba(255, 255, 255, 0.7);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.05),
|
|
0 1px 2px rgba(0, 0, 0, 0.04);
|
|
color: #334155;
|
|
z-index: 100;
|
|
}
|
|
|
|
.dark-mode-toggle-new:hover {
|
|
@apply transform -translate-y-0.5;
|
|
background: rgba(241, 245, 249, 0.9);
|
|
box-shadow:
|
|
0 8px 16px rgba(0, 0, 0, 0.08),
|
|
0 2px 4px rgba(0, 0, 0, 0.06);
|
|
}
|
|
|
|
.dark-mode-toggle-new:active {
|
|
@apply transform scale-95;
|
|
transition: transform 0.1s;
|
|
}
|
|
|
|
.dark .dark-mode-toggle-new {
|
|
background: rgba(30, 41, 59, 0.8);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.2),
|
|
0 1px 2px rgba(0, 0, 0, 0.1);
|
|
color: #e2e8f0;
|
|
}
|
|
|
|
.dark .dark-mode-toggle-new:hover {
|
|
background: rgba(30, 41, 59, 0.9);
|
|
box-shadow:
|
|
0 8px 16px rgba(0, 0, 0, 0.2),
|
|
0 2px 4px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
/* Icon-Animation */
|
|
.dark-mode-toggle-new .sun-icon,
|
|
.dark-mode-toggle-new .moon-icon {
|
|
@apply absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 transition-all duration-300;
|
|
}
|
|
|
|
.dark-mode-toggle-new .sun-icon:not(.hidden) {
|
|
animation: spin-in 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
|
}
|
|
|
|
.dark-mode-toggle-new .moon-icon:not(.hidden) {
|
|
animation: spin-in 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
|
}
|
|
|
|
@keyframes spin-in {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(10px) scale(0.7) rotate(20deg);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateY(0) scale(1) rotate(0);
|
|
}
|
|
}
|
|
|
|
.dark .sun-icon {
|
|
display: none;
|
|
}
|
|
|
|
.dark .moon-icon {
|
|
display: block;
|
|
}
|
|
|
|
.sun-icon {
|
|
display: block;
|
|
}
|
|
|
|
.moon-icon {
|
|
display: none;
|
|
}
|
|
|
|
/* User Menu Button - Kompakteres Design */
|
|
.user-menu-button-new {
|
|
@apply flex items-center space-x-1.5 rounded-lg p-1 transition-all duration-300;
|
|
background: rgba(241, 245, 249, 0.6);
|
|
border: 1px solid rgba(255, 255, 255, 0.6);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.04),
|
|
0 1px 2px rgba(0, 0, 0, 0.02);
|
|
}
|
|
|
|
.user-menu-button-new:hover {
|
|
@apply transform -translate-y-0.5;
|
|
background: rgba(241, 245, 249, 0.8);
|
|
box-shadow:
|
|
0 8px 16px rgba(0, 0, 0, 0.06),
|
|
0 2px 4px rgba(0, 0, 0, 0.04);
|
|
}
|
|
|
|
.dark .user-menu-button-new {
|
|
background: rgba(30, 41, 59, 0.6);
|
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.15),
|
|
0 1px 2px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .user-menu-button-new:hover {
|
|
background: rgba(30, 41, 59, 0.8);
|
|
box-shadow:
|
|
0 8px 16px rgba(0, 0, 0, 0.15),
|
|
0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* User Avatar - Kompakteres Design */
|
|
.user-avatar-new {
|
|
@apply h-7 w-7 rounded-full flex items-center justify-center text-white font-semibold text-xs shadow-md transition-all duration-300;
|
|
background: linear-gradient(135deg, #000000, #333333);
|
|
box-shadow:
|
|
0 2px 4px rgba(0, 0, 0, 0.2),
|
|
0 1px 2px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .user-avatar-new {
|
|
background: linear-gradient(135deg, #f8fafc, #e2e8f0);
|
|
color: #0f172a;
|
|
box-shadow:
|
|
0 2px 4px rgba(0, 0, 0, 0.3),
|
|
0 1px 2px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* Login Button - Kompakteres Design */
|
|
.login-button-new {
|
|
@apply flex items-center px-3 py-1.5 rounded-lg text-xs font-medium shadow-sm transition-all duration-300;
|
|
background: #000000;
|
|
color: #ffffff;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.1),
|
|
0 1px 2px rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
.login-button-new:hover {
|
|
@apply transform -translate-y-0.5;
|
|
background: #333333;
|
|
box-shadow:
|
|
0 8px 16px rgba(0, 0, 0, 0.15),
|
|
0 3px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .login-button-new {
|
|
background: #ffffff;
|
|
color: #000000;
|
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
box-shadow:
|
|
0 2px 8px rgba(0, 0, 0, 0.2),
|
|
0 1px 2px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.dark .login-button-new:hover {
|
|
background: #f1f5f9;
|
|
box-shadow:
|
|
0 8px 16px rgba(0, 0, 0, 0.25),
|
|
0 3px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* Mobile Menu - Kompakteres Design */
|
|
.mobile-menu-new {
|
|
@apply w-full overflow-hidden transition-all duration-300 z-40;
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(24px);
|
|
-webkit-backdrop-filter: blur(24px);
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
|
|
border-bottom: 1px solid rgba(241, 245, 249, 0.8);
|
|
max-height: 0;
|
|
opacity: 0;
|
|
}
|
|
|
|
.mobile-menu-new.open {
|
|
max-height: 400px;
|
|
opacity: 1;
|
|
border-bottom: 1px solid rgba(241, 245, 249, 0.8);
|
|
}
|
|
|
|
.dark .mobile-menu-new {
|
|
background: rgba(15, 23, 42, 0.8);
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
|
|
border-bottom: 1px solid rgba(30, 41, 59, 0.8);
|
|
}
|
|
|
|
.mobile-nav-item {
|
|
@apply flex items-center space-x-2.5 px-3 py-2.5 rounded-lg text-sm text-slate-800 dark:text-slate-200 transition-all duration-300;
|
|
}
|
|
|
|
.mobile-nav-item:hover {
|
|
background: rgba(241, 245, 249, 0.8);
|
|
}
|
|
|
|
.dark .mobile-nav-item:hover {
|
|
background: rgba(30, 41, 59, 0.6);
|
|
}
|
|
|
|
.mobile-nav-item.active {
|
|
background: rgba(241, 245, 249, 0.9);
|
|
color: #000000;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.dark .mobile-nav-item.active {
|
|
background: rgba(30, 41, 59, 0.8);
|
|
color: #ffffff;
|
|
}
|
|
|
|
/* Dashboard Stat Cards mit schwarzem Hintergrund im Dark Mode */
|
|
.mb-stat-card {
|
|
background: linear-gradient(135deg, rgba(240, 249, 255, 0.6) 0%, rgba(230, 242, 255, 0.6) 100%);
|
|
color: #0f172a;
|
|
position: relative;
|
|
overflow: hidden;
|
|
border: none;
|
|
border-radius: var(--card-radius);
|
|
backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
padding: 1.5rem;
|
|
margin: 1rem;
|
|
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
}
|
|
|
|
.dark .mb-stat-card {
|
|
background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(10, 10, 10, 0.7) 100%);
|
|
color: var(--text-primary, #f8fafc);
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Stats und Jobs Page Card Styles */
|
|
.stats-card, .job-card {
|
|
@apply bg-white/60 dark:bg-black/80 backdrop-blur-2xl border border-gray-200/70 dark:border-slate-700/20 rounded-xl shadow-2xl transition-all duration-300;
|
|
backdrop-filter: blur(24px) saturate(200%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(24px) saturate(200%) brightness(120%);
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
border-radius: var(--card-radius);
|
|
}
|
|
|
|
/* Footer Styling - Verstärktes Glassmorphism */
|
|
footer {
|
|
@apply transition-all duration-300;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(30px) saturate(180%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(30px) saturate(180%) brightness(120%);
|
|
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow:
|
|
0 -8px 32px rgba(0, 0, 0, 0.1),
|
|
0 -2px 8px rgba(0, 0, 0, 0.05),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.dark footer {
|
|
background: rgba(0, 0, 0, 0.3);
|
|
backdrop-filter: blur(30px) saturate(160%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(30px) saturate(160%) brightness(110%);
|
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 -8px 32px rgba(0, 0, 0, 0.3),
|
|
0 -2px 8px rgba(0, 0, 0, 0.2),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.1),
|
|
0 0 0 1px rgba(255, 255, 255, 0.03);
|
|
}
|
|
|
|
/* Dropdown Pfeil Animation */
|
|
.dropdown-arrow {
|
|
@apply transition-transform duration-300;
|
|
}
|
|
|
|
/* Mercedes-Benz Hintergrund mit Star-Pattern */
|
|
.mercedes-star-bg {
|
|
position: relative;
|
|
}
|
|
|
|
.mercedes-star-bg::after {
|
|
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.05' 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: -1;
|
|
opacity: 0.05;
|
|
}
|
|
|
|
.dark .mercedes-star-bg::after {
|
|
opacity: 0.02;
|
|
filter: invert(1) brightness(0.4);
|
|
}
|
|
|
|
/* Zusätzliche Glassmorphism-Verbesserungen */
|
|
.glass-effect {
|
|
backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%) brightness(110%);
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow:
|
|
0 8px 32px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.dark .glass-effect {
|
|
background: rgba(0, 0, 0, 0.3);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow:
|
|
0 8px 32px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.15);
|
|
}
|
|
|
|
/* Verbesserte Hover-Effekte für alle interaktiven Elemente */
|
|
.glass-hover {
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.glass-hover:hover {
|
|
transform: translateY(-2px);
|
|
backdrop-filter: blur(25px) saturate(200%) brightness(120%);
|
|
-webkit-backdrop-filter: blur(25px) saturate(200%) brightness(120%);
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.15),
|
|
0 8px 16px rgba(0, 0, 0, 0.1),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.4);
|
|
}
|
|
|
|
.dark .glass-hover:hover {
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.4),
|
|
0 8px 16px rgba(0, 0, 0, 0.3),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* Neue verbesserte Drucker-Karten für die Drucker-Ansicht */
|
|
.printer-card-new {
|
|
@apply bg-gradient-to-br from-white/90 to-white/70 dark:from-slate-800/90 dark:to-slate-900/70 backdrop-blur-2xl rounded-xl border border-gray-200/70 dark:border-slate-700/30 p-5 shadow-2xl transition-all duration-300 hover:-translate-y-1 relative overflow-hidden;
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.08),
|
|
0 10px 20px rgba(0, 0, 0, 0.06),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
border-radius: var(--card-radius, 1rem);
|
|
}
|
|
|
|
.dark .printer-card-new {
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.4),
|
|
0 10px 20px rgba(0, 0, 0, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
/* Online Drucker-Karten mit stärkerem visuellen Unterschied */
|
|
.printer-card-new.online {
|
|
@apply bg-gradient-to-br from-green-50/90 to-emerald-50/80 dark:from-green-900/30 dark:to-emerald-900/20 border-green-200 dark:border-green-700/50;
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 122, 85, 0.08),
|
|
0 10px 20px rgba(0, 122, 85, 0.06),
|
|
0 0 0 1px rgba(209, 250, 229, 0.4);
|
|
}
|
|
|
|
.dark .printer-card-new.online {
|
|
box-shadow:
|
|
0 20px 40px rgba(0, 0, 0, 0.3),
|
|
0 10px 20px rgba(0, 0, 0, 0.2),
|
|
0 0 0 1px rgba(16, 185, 129, 0.2);
|
|
}
|
|
|
|
/* Status-Badge mit verbesserten Styles */
|
|
.status-badge-new {
|
|
@apply px-2.5 py-1 rounded-full text-xs font-medium inline-flex items-center space-x-1 shadow-sm;
|
|
background: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.dark .status-badge-new {
|
|
background: rgba(30, 41, 59, 0.7);
|
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.status-badge-new.online {
|
|
@apply bg-green-100/90 text-green-800 dark:bg-green-900/60 dark:text-green-300;
|
|
}
|
|
|
|
.status-badge-new.offline {
|
|
@apply bg-red-100/90 text-red-800 dark:bg-red-900/60 dark:text-red-300;
|
|
}
|
|
|
|
/* Verbesserte Filterleiste */
|
|
.filter-bar-new {
|
|
@apply bg-white/80 dark:bg-slate-800/80 backdrop-blur-xl rounded-lg p-1.5 border border-gray-200/60 dark:border-slate-700/30 shadow-xl;
|
|
box-shadow:
|
|
0 10px 25px rgba(0, 0, 0, 0.05),
|
|
0 5px 10px rgba(0, 0, 0, 0.03),
|
|
0 0 0 1px rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
.dark .filter-bar-new {
|
|
box-shadow:
|
|
0 10px 25px rgba(0, 0, 0, 0.2),
|
|
0 5px 10px rgba(0, 0, 0, 0.15),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.filter-btn-new {
|
|
@apply px-3.5 py-2 text-sm rounded-md transition-all duration-300 font-medium;
|
|
}
|
|
|
|
.filter-btn-new.active {
|
|
@apply bg-black text-white dark:bg-white dark:text-slate-900 shadow-md;
|
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .filter-btn-new.active {
|
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* Verbesserte Aktionsschaltflächen */
|
|
.action-btn-new {
|
|
@apply flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg font-medium text-sm transition-all duration-300 shadow-md hover:-translate-y-0.5;
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
}
|
|
|
|
.action-btn-new.primary {
|
|
@apply bg-indigo-600 hover:bg-indigo-700 text-white dark:bg-indigo-600 dark:hover:bg-indigo-500;
|
|
box-shadow: 0 5px 15px rgba(79, 70, 229, 0.2);
|
|
}
|
|
|
|
.dark .action-btn-new.primary {
|
|
box-shadow: 0 5px 15px rgba(79, 70, 229, 0.3);
|
|
}
|
|
|
|
.action-btn-new.success {
|
|
@apply bg-green-600 hover:bg-green-700 text-white dark:bg-green-600 dark:hover:bg-green-500;
|
|
box-shadow: 0 5px 15px rgba(16, 185, 129, 0.2);
|
|
}
|
|
|
|
.dark .action-btn-new.success {
|
|
box-shadow: 0 5px 15px rgba(16, 185, 129, 0.3);
|
|
}
|
|
|
|
.action-btn-new.danger {
|
|
@apply bg-red-600 hover:bg-red-700 text-white dark:bg-red-600 dark:hover:bg-red-500;
|
|
box-shadow: 0 5px 15px rgba(239, 68, 68, 0.2);
|
|
}
|
|
|
|
.dark .action-btn-new.danger {
|
|
box-shadow: 0 5px 15px rgba(239, 68, 68, 0.3);
|
|
}
|
|
|
|
/* Informationszeilen in Drucker-Karten */
|
|
.printer-info-row {
|
|
@apply flex items-center gap-2 text-xs sm:text-sm text-slate-700 dark:text-slate-300 mb-1.5;
|
|
}
|
|
|
|
.printer-info-icon {
|
|
@apply w-3.5 h-3.5 sm:w-4 sm:h-4 text-slate-500 dark:text-slate-400 flex-shrink-0;
|
|
}
|
|
|
|
/* Online-Indikator mit Pulseffekt */
|
|
.online-indicator {
|
|
@apply absolute top-2.5 right-2.5 w-3 h-3 bg-green-500 rounded-full shadow-lg;
|
|
box-shadow: 0 0 0 rgba(16, 185, 129, 0.6);
|
|
animation: pulse-ring 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
|
|
}
|
|
|
|
@keyframes pulse-ring {
|
|
0% {
|
|
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
|
|
}
|
|
70% {
|
|
box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
|
|
}
|
|
100% {
|
|
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
|
|
}
|
|
}
|
|
|
|
/* Header mit verbesserten Status-Anzeigen */
|
|
.status-overview-new {
|
|
@apply flex flex-wrap gap-3 text-xs sm:text-sm p-3 bg-white/60 dark:bg-slate-800/60 backdrop-blur-xl rounded-lg border border-gray-200/60 dark:border-slate-700/30 shadow-lg;
|
|
box-shadow:
|
|
0 10px 25px rgba(0, 0, 0, 0.04),
|
|
0 5px 10px rgba(0, 0, 0, 0.02),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.dark .status-overview-new {
|
|
box-shadow:
|
|
0 10px 25px rgba(0, 0, 0, 0.15),
|
|
0 5px 10px rgba(0, 0, 0, 0.1),
|
|
0 0 0 1px rgba(255, 255, 255, 0.03);
|
|
}
|
|
|
|
.status-dot {
|
|
@apply w-2.5 h-2.5 rounded-full;
|
|
}
|
|
|
|
.status-dot.online {
|
|
@apply bg-green-500;
|
|
animation: pulse-dot 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
|
|
}
|
|
|
|
.status-dot.offline {
|
|
@apply bg-red-500;
|
|
}
|
|
|
|
@keyframes pulse-dot {
|
|
0% {
|
|
transform: scale(0.95);
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
transform: scale(1.1);
|
|
opacity: 0.8;
|
|
}
|
|
100% {
|
|
transform: scale(0.95);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
/* Verbesserte Modals mit Glassmorphism */
|
|
.modal-new {
|
|
@apply fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/40 backdrop-blur-sm;
|
|
}
|
|
|
|
.modal-content-new {
|
|
@apply bg-white/90 dark:bg-slate-800/90 backdrop-blur-2xl rounded-2xl p-6 w-full max-w-md shadow-2xl border border-gray-200/60 dark:border-slate-700/30 transform transition-all duration-300;
|
|
box-shadow:
|
|
0 25px 50px rgba(0, 0, 0, 0.15),
|
|
0 15px 30px rgba(0, 0, 0, 0.1),
|
|
0 20px 25px -5px rgba(0, 0, 0, 0.5),
|
|
0 10px 10px -5px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* User Dropdown Items */
|
|
.user-dropdown-item {
|
|
@apply flex items-center px-4 py-3 text-sm text-slate-700 dark:text-slate-200 hover:bg-slate-50 dark:hover:bg-slate-800 transition-all duration-200 cursor-pointer;
|
|
}
|
|
|
|
.user-dropdown-item:first-child {
|
|
@apply rounded-t-xl;
|
|
}
|
|
|
|
.user-dropdown-item:last-child {
|
|
@apply rounded-b-xl;
|
|
}
|
|
|
|
.user-dropdown-item:hover {
|
|
background: rgba(248, 250, 252, 0.8);
|
|
transform: translateX(2px);
|
|
}
|
|
|
|
.dark .user-dropdown-item:hover {
|
|
background: rgba(30, 41, 59, 0.8);
|
|
}
|
|
|
|
/* User Dropdown Icons */
|
|
.user-dropdown-icon {
|
|
@apply w-4 h-4 mr-3 text-slate-500 dark:text-slate-400 transition-colors duration-200;
|
|
}
|
|
|
|
.user-dropdown-item:hover .user-dropdown-icon {
|
|
@apply text-slate-700 dark:text-slate-200;
|
|
}
|
|
|
|
/* Divider in User Dropdown */
|
|
.user-dropdown-divider {
|
|
@apply border-t border-slate-200 dark:border-slate-700 my-1;
|
|
}
|
|
|
|
/* User Info Section in Dropdown */
|
|
.user-info-section {
|
|
@apply px-4 py-3 border-b border-slate-200 dark:border-slate-700;
|
|
background: rgba(248, 250, 252, 0.5);
|
|
}
|
|
|
|
.dark .user-info-section {
|
|
background: rgba(30, 41, 59, 0.5);
|
|
}
|
|
|
|
.user-info-name {
|
|
@apply text-sm font-semibold text-slate-900 dark:text-white;
|
|
}
|
|
|
|
.user-info-role {
|
|
@apply text-xs text-slate-500 dark:text-slate-400 mt-1;
|
|
}
|