🎉 Improved logging system & documentation updates 🎉
This commit is contained in:
@@ -2,35 +2,53 @@
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
/* Custom Styles für Light und Dark Mode */
|
||||
/* Custom Styles für Light und Dark Mode - Premium Upgrade */
|
||||
@layer base {
|
||||
:root {
|
||||
/* Light Mode Farben */
|
||||
/* Light Mode Farben - Mercedes-Benz Professional */
|
||||
--color-bg-primary: #ffffff;
|
||||
--color-bg-secondary: #f8fafc;
|
||||
--color-bg-tertiary: #f1f5f9;
|
||||
--color-bg-accent: #fafbfc;
|
||||
--color-text-primary: #0f172a;
|
||||
--color-text-secondary: #334155;
|
||||
--color-text-muted: #64748b;
|
||||
--color-text-accent: #0073ce;
|
||||
--color-border-primary: #e2e8f0;
|
||||
--color-accent: #000000; /* Mercedes-Benz Schwarz statt Blau */
|
||||
--color-accent-hover: #333333;
|
||||
--color-border-secondary: #cbd5e1;
|
||||
--color-accent: #0073ce; /* Mercedes-Benz Professional Blau */
|
||||
--color-accent-hover: #005a9f;
|
||||
--color-accent-light: #e0f2fe;
|
||||
--color-accent-text: #ffffff;
|
||||
--color-shadow: rgba(0, 0, 0, 0.1);
|
||||
--color-shadow: rgba(0, 0, 0, 0.08);
|
||||
--color-shadow-strong: rgba(0, 0, 0, 0.12);
|
||||
--color-shadow-accent: rgba(0, 115, 206, 0.15);
|
||||
--card-radius: 1rem; /* Abgerundete Ecken für Karten */
|
||||
|
||||
/* Light Mode Gradients */
|
||||
--gradient-primary: linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, #f1f5f9 100%);
|
||||
--gradient-card: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
|
||||
--gradient-hero: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 50%, #f1f5f9 100%);
|
||||
--gradient-accent: linear-gradient(135deg, #0073ce 0%, #005a9f 100%);
|
||||
--gradient-surface: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
|
||||
}
|
||||
|
||||
.dark {
|
||||
/* Dark Mode Farben - Noch dunkler und eleganter */
|
||||
--color-bg-primary: #000000; /* Tiefes Schwarz */
|
||||
--color-bg-secondary: #0a0a0a; /* Sehr dunkles Grau */
|
||||
--color-bg-tertiary: #1a1a1a;
|
||||
--color-text-primary: #ffffff;
|
||||
--color-text-secondary: #e2e8f0;
|
||||
--color-text-muted: #94a3b8;
|
||||
--color-border-primary: #1a1a1a; /* Dunkler Rahmen */
|
||||
--color-border-secondary: #2a2a2a;
|
||||
--color-accent: #ffffff; /* Reines Weiß */
|
||||
--color-accent-hover: #f0f0f0;
|
||||
--color-accent-light: #1e3a8a;
|
||||
--color-accent-text: #000000;
|
||||
--color-shadow: rgba(0, 0, 0, 0.8); /* Sehr dunkler Schatten */
|
||||
--color-shadow-strong: rgba(0, 0, 0, 0.9);
|
||||
--mb-black: #000000; /* Mercedes-Benz Schwarz */
|
||||
}
|
||||
|
||||
@@ -38,27 +56,743 @@
|
||||
@apply bg-white dark:bg-black text-slate-900 dark:text-white transition-colors duration-300;
|
||||
position: relative;
|
||||
min-height: 100vh;
|
||||
background: var(--gradient-primary);
|
||||
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
||||
font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.dark body {
|
||||
background: linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #000000 100%);
|
||||
}
|
||||
|
||||
/* Navbar Styles - Glassmorphism ohne überlagerte Hintergründe */
|
||||
/* Enhanced Body Background with Subtle Patterns */
|
||||
body::before {
|
||||
content: '';
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background:
|
||||
radial-gradient(circle at 20% 50%, rgba(0, 115, 206, 0.02) 0%, transparent 50%),
|
||||
radial-gradient(circle at 80% 20%, rgba(0, 115, 206, 0.015) 0%, transparent 50%),
|
||||
radial-gradient(circle at 40% 80%, rgba(0, 115, 206, 0.01) 0%, transparent 50%);
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.dark body::before {
|
||||
background:
|
||||
radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.03) 0%, transparent 50%),
|
||||
radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.02) 0%, transparent 50%);
|
||||
}
|
||||
|
||||
/* Navbar Styles - Premium Glassmorphism */
|
||||
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);
|
||||
@apply backdrop-blur-xl border-b transition-all duration-300;
|
||||
background: linear-gradient(135deg,
|
||||
rgba(255, 255, 255, 0.9) 0%,
|
||||
rgba(248, 250, 252, 0.85) 50%,
|
||||
rgba(255, 255, 255, 0.9) 100%);
|
||||
border-bottom: 1px solid rgba(226, 232, 240, 0.6);
|
||||
backdrop-filter: blur(24px) saturate(200%) brightness(115%);
|
||||
-webkit-backdrop-filter: blur(24px) saturate(200%) brightness(115%);
|
||||
box-shadow:
|
||||
0 8px 32px rgba(0, 0, 0, 0.08),
|
||||
0 4px 12px rgba(0, 115, 206, 0.04),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
/* 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;
|
||||
.dark nav {
|
||||
background: rgba(0, 0, 0, 0.85);
|
||||
border-bottom-color: 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.05);
|
||||
}
|
||||
|
||||
/* Premium Card Styles */
|
||||
.card-enhanced {
|
||||
background: var(--gradient-card);
|
||||
border: 1px solid var(--color-border-primary);
|
||||
border-radius: var(--card-radius);
|
||||
box-shadow:
|
||||
0 4px 20px var(--color-shadow),
|
||||
0 2px 8px rgba(0, 115, 206, 0.04),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card-enhanced::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: var(--gradient-accent);
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.card-enhanced:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow:
|
||||
0 8px 30px var(--color-shadow-strong),
|
||||
0 4px 15px var(--color-shadow-accent),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
.card-enhanced:hover::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.dark .card-enhanced {
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
border-color: var(--color-border-primary);
|
||||
box-shadow: 0 4px 20px var(--color-shadow);
|
||||
}
|
||||
|
||||
/* Premium Button Styles */
|
||||
.btn-enhanced {
|
||||
background: var(--gradient-accent);
|
||||
color: var(--color-accent-text);
|
||||
border: none;
|
||||
border-radius: 0.75rem;
|
||||
padding: 0.875rem 2rem;
|
||||
font-weight: 600;
|
||||
font-size: 0.875rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
box-shadow:
|
||||
0 4px 15px rgba(0, 115, 206, 0.3),
|
||||
0 2px 8px rgba(0, 115, 206, 0.2);
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.btn-enhanced::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 ease;
|
||||
}
|
||||
|
||||
.btn-enhanced:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow:
|
||||
0 8px 25px rgba(0, 115, 206, 0.4),
|
||||
0 4px 12px rgba(0, 115, 206, 0.3);
|
||||
}
|
||||
|
||||
.btn-enhanced:hover::before {
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.btn-enhanced:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: var(--gradient-surface);
|
||||
color: var(--color-text-primary);
|
||||
border: 1px solid var(--color-border-primary);
|
||||
box-shadow:
|
||||
0 2px 8px var(--color-shadow),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: var(--color-bg-secondary);
|
||||
border-color: var(--color-accent);
|
||||
color: var(--color-accent);
|
||||
box-shadow:
|
||||
0 4px 15px var(--color-shadow-accent),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
/* Enhanced Form Elements */
|
||||
.input-enhanced {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
border: 1px solid var(--color-border-primary);
|
||||
border-radius: 0.75rem;
|
||||
padding: 0.875rem 1.25rem;
|
||||
color: var(--color-text-primary);
|
||||
font-size: 0.925rem;
|
||||
box-shadow:
|
||||
0 2px 8px rgba(0, 0, 0, 0.04),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
transition: all 0.2s ease;
|
||||
backdrop-filter: blur(8px);
|
||||
-webkit-backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
.input-enhanced:focus {
|
||||
outline: none;
|
||||
border-color: var(--color-accent);
|
||||
box-shadow:
|
||||
0 4px 15px rgba(0, 115, 206, 0.15),
|
||||
0 0 0 3px rgba(0, 115, 206, 0.1),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
}
|
||||
|
||||
.input-enhanced::placeholder {
|
||||
color: var(--color-text-muted);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.dark .input-enhanced {
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
border-color: var(--color-border-primary);
|
||||
color: var(--color-text-primary);
|
||||
box-shadow:
|
||||
0 2px 8px var(--color-shadow),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.dark .input-enhanced:focus {
|
||||
border-color: #60a5fa;
|
||||
box-shadow:
|
||||
0 4px 15px rgba(96, 165, 250, 0.2),
|
||||
0 0 0 3px rgba(96, 165, 250, 0.1);
|
||||
}
|
||||
|
||||
/* Premium Alert Styles */
|
||||
.alert-enhanced {
|
||||
border-radius: 1rem;
|
||||
padding: 1.25rem;
|
||||
border: 1px solid transparent;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
backdrop-filter: blur(16px);
|
||||
-webkit-backdrop-filter: blur(16px);
|
||||
}
|
||||
|
||||
.alert-enhanced::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.alert-info-enhanced {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(239, 246, 255, 0.95) 0%,
|
||||
rgba(219, 234, 254, 0.9) 100%);
|
||||
border-color: rgba(59, 130, 246, 0.2);
|
||||
color: #1e40af;
|
||||
}
|
||||
|
||||
.alert-info-enhanced::before {
|
||||
background: var(--gradient-accent);
|
||||
}
|
||||
|
||||
.alert-success-enhanced {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(236, 253, 245, 0.95) 0%,
|
||||
rgba(167, 243, 208, 0.9) 100%);
|
||||
border-color: rgba(16, 185, 129, 0.2);
|
||||
color: #065f46;
|
||||
}
|
||||
|
||||
.alert-success-enhanced::before {
|
||||
background: linear-gradient(180deg, #10b981 0%, #059669 100%);
|
||||
}
|
||||
|
||||
.alert-warning-enhanced {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(255, 251, 235, 0.95) 0%,
|
||||
rgba(254, 243, 199, 0.9) 100%);
|
||||
border-color: rgba(251, 191, 36, 0.2);
|
||||
color: #92400e;
|
||||
}
|
||||
|
||||
.alert-warning-enhanced::before {
|
||||
background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 100%);
|
||||
}
|
||||
|
||||
.alert-error-enhanced {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(254, 242, 242, 0.95) 0%,
|
||||
rgba(252, 165, 165, 0.9) 100%);
|
||||
border-color: rgba(239, 68, 68, 0.2);
|
||||
color: #991b1b;
|
||||
}
|
||||
|
||||
.alert-error-enhanced::before {
|
||||
background: linear-gradient(180deg, #ef4444 0%, #dc2626 100%);
|
||||
}
|
||||
|
||||
/* Light Mode Flash Messages - Premium */
|
||||
.flash-message-light {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(255, 255, 255, 0.95) 0%,
|
||||
rgba(248, 250, 252, 0.9) 100%);
|
||||
backdrop-filter: blur(32px) saturate(200%) brightness(120%);
|
||||
-webkit-backdrop-filter: blur(32px) saturate(200%) brightness(120%);
|
||||
border: 1px solid rgba(226, 232, 240, 0.6);
|
||||
box-shadow:
|
||||
0 25px 50px rgba(0, 0, 0, 0.1),
|
||||
0 12px 24px rgba(0, 115, 206, 0.05),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
color: var(--color-text-primary);
|
||||
}
|
||||
|
||||
.flash-message-light.success {
|
||||
border-left: 4px solid #10b981;
|
||||
background: linear-gradient(135deg,
|
||||
rgba(236, 253, 245, 0.95) 0%,
|
||||
rgba(209, 250, 229, 0.9) 100%);
|
||||
}
|
||||
|
||||
.flash-message-light.error {
|
||||
border-left: 4px solid #ef4444;
|
||||
background: linear-gradient(135deg,
|
||||
rgba(254, 242, 242, 0.95) 0%,
|
||||
rgba(252, 165, 165, 0.9) 100%);
|
||||
}
|
||||
|
||||
.flash-message-light.warning {
|
||||
border-left: 4px solid #fbbf24;
|
||||
background: linear-gradient(135deg,
|
||||
rgba(255, 251, 235, 0.95) 0%,
|
||||
rgba(254, 243, 199, 0.9) 100%);
|
||||
}
|
||||
|
||||
.flash-message-light.info {
|
||||
border-left: 4px solid #3b82f6;
|
||||
background: linear-gradient(135deg,
|
||||
rgba(239, 246, 255, 0.95) 0%,
|
||||
rgba(219, 234, 254, 0.9) 100%);
|
||||
}
|
||||
|
||||
/* Premium Table Styles */
|
||||
.table-enhanced {
|
||||
background: var(--gradient-card);
|
||||
border: 1px solid var(--color-border-primary);
|
||||
border-radius: var(--card-radius);
|
||||
overflow: hidden;
|
||||
box-shadow:
|
||||
0 4px 20px var(--color-shadow),
|
||||
0 2px 8px rgba(0, 115, 206, 0.04),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
|
||||
.table-enhanced th {
|
||||
background: linear-gradient(135deg,
|
||||
var(--color-bg-secondary) 0%,
|
||||
var(--color-bg-tertiary) 100%);
|
||||
color: var(--color-text-primary);
|
||||
font-weight: 600;
|
||||
padding: 1rem 1.5rem;
|
||||
border-bottom: 1px solid var(--color-border-primary);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.table-enhanced th::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 1px;
|
||||
background: linear-gradient(90deg,
|
||||
transparent 0%,
|
||||
var(--color-border-secondary) 50%,
|
||||
transparent 100%);
|
||||
}
|
||||
|
||||
.table-enhanced td {
|
||||
padding: 1rem 1.5rem;
|
||||
border-bottom: 1px solid var(--color-border-primary);
|
||||
color: var(--color-text-secondary);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.table-enhanced tbody tr:hover {
|
||||
background: var(--color-bg-secondary);
|
||||
transform: scale(1.002);
|
||||
}
|
||||
|
||||
.dark .table-enhanced {
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
border-color: var(--color-border-primary);
|
||||
}
|
||||
|
||||
.dark .table-enhanced th {
|
||||
background: rgba(26, 26, 26, 0.8);
|
||||
color: var(--color-text-primary);
|
||||
}
|
||||
|
||||
.dark .table-enhanced tbody tr:hover {
|
||||
background: rgba(26, 26, 26, 0.6);
|
||||
}
|
||||
|
||||
/* Premium Modal Styles */
|
||||
.modal-enhanced {
|
||||
background: linear-gradient(135deg,
|
||||
rgba(255, 255, 255, 0.98) 0%,
|
||||
rgba(248, 250, 252, 0.95) 50%,
|
||||
rgba(255, 255, 255, 0.98) 100%);
|
||||
backdrop-filter: blur(32px) saturate(220%) brightness(120%);
|
||||
-webkit-backdrop-filter: blur(32px) saturate(220%) brightness(120%);
|
||||
border: 1px solid rgba(226, 232, 240, 0.7);
|
||||
border-radius: 1.5rem;
|
||||
box-shadow:
|
||||
0 50px 100px rgba(0, 0, 0, 0.15),
|
||||
0 20px 40px rgba(0, 115, 206, 0.08),
|
||||
inset 0 2px 0 rgba(255, 255, 255, 0.9);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.modal-enhanced::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 1px;
|
||||
background: linear-gradient(90deg,
|
||||
transparent 0%,
|
||||
rgba(226, 232, 240, 0.8) 50%,
|
||||
transparent 100%);
|
||||
}
|
||||
|
||||
.dark .modal-enhanced {
|
||||
background: rgba(0, 0, 0, 0.95);
|
||||
border-color: rgba(42, 42, 42, 0.7);
|
||||
box-shadow:
|
||||
0 50px 100px rgba(0, 0, 0, 0.5),
|
||||
inset 0 2px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
/* Enhanced Status Badges */
|
||||
.status-badge-enhanced {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 0.5rem 1rem;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
border-radius: 9999px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
border: 1px solid transparent;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.status-badge-enhanced::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
|
||||
transition: left 0.5s ease;
|
||||
}
|
||||
|
||||
.status-badge-enhanced:hover::before {
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.status-online-enhanced {
|
||||
background: linear-gradient(135deg, #ecfdf5 0%, #a7f3d0 100%);
|
||||
color: #065f46;
|
||||
border-color: rgba(16, 185, 129, 0.3);
|
||||
}
|
||||
|
||||
.status-offline-enhanced {
|
||||
background: linear-gradient(135deg, #fef2f2 0%, #fca5a5 100%);
|
||||
color: #991b1b;
|
||||
border-color: rgba(239, 68, 68, 0.3);
|
||||
}
|
||||
|
||||
.status-printing-enhanced {
|
||||
background: linear-gradient(135deg, #eff6ff 0%, #bfdbfe 100%);
|
||||
color: #1e40af;
|
||||
border-color: rgba(59, 130, 246, 0.3);
|
||||
}
|
||||
|
||||
/* Dark Mode Toggle - Premium Design */
|
||||
.dark-mode-toggle-new {
|
||||
position: relative;
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 9999px;
|
||||
padding: 0.625rem;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
background: linear-gradient(135deg,
|
||||
rgba(248, 250, 252, 0.9) 0%,
|
||||
rgba(241, 245, 249, 0.8) 100%);
|
||||
border: 1px solid rgba(226, 232, 240, 0.7);
|
||||
box-shadow:
|
||||
0 4px 12px rgba(0, 0, 0, 0.06),
|
||||
0 2px 4px rgba(0, 115, 206, 0.04),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
color: var(--color-text-secondary);
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.dark-mode-toggle-new:hover {
|
||||
transform: translateY(-2px) scale(1.05);
|
||||
background: linear-gradient(135deg,
|
||||
rgba(248, 250, 252, 0.95) 0%,
|
||||
rgba(241, 245, 249, 0.85) 100%);
|
||||
box-shadow:
|
||||
0 8px 20px rgba(0, 0, 0, 0.1),
|
||||
0 4px 8px rgba(0, 115, 206, 0.08),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.dark-mode-toggle-new:active {
|
||||
transform: translateY(-1px) scale(0.98);
|
||||
transition: transform 0.1s;
|
||||
}
|
||||
|
||||
.dark .dark-mode-toggle-new {
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
border: 1px solid rgba(42, 42, 42, 0.6);
|
||||
box-shadow:
|
||||
0 4px 12px rgba(0, 0, 0, 0.3),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
color: var(--color-text-secondary);
|
||||
}
|
||||
|
||||
.dark .dark-mode-toggle-new:hover {
|
||||
background: rgba(10, 10, 10, 0.9);
|
||||
box-shadow:
|
||||
0 8px 20px rgba(0, 0, 0, 0.4),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
/* Icon-Animation für Dark Mode Toggle */
|
||||
.dark-mode-toggle-new .sun-icon,
|
||||
.dark-mode-toggle-new .moon-icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.dark-mode-toggle-new .sun-icon:not(.hidden) {
|
||||
animation: icon-appear 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
||||
}
|
||||
|
||||
.dark-mode-toggle-new .moon-icon:not(.hidden) {
|
||||
animation: icon-appear 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
||||
}
|
||||
|
||||
@keyframes icon-appear {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translate(-50%, -50%) scale(0.5) rotate(-20deg);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(-50%, -50%) 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 - Premium Design */
|
||||
.user-menu-button-new {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
border-radius: 0.75rem;
|
||||
padding: 0.5rem;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
background: linear-gradient(135deg,
|
||||
rgba(248, 250, 252, 0.8) 0%,
|
||||
rgba(241, 245, 249, 0.7) 100%);
|
||||
border: 1px solid rgba(226, 232, 240, 0.6);
|
||||
box-shadow:
|
||||
0 2px 8px rgba(0, 0, 0, 0.05),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
.user-menu-button-new:hover {
|
||||
transform: translateY(-1px);
|
||||
background: linear-gradient(135deg,
|
||||
rgba(248, 250, 252, 0.9) 0%,
|
||||
rgba(241, 245, 249, 0.8) 100%);
|
||||
box-shadow:
|
||||
0 4px 12px rgba(0, 0, 0, 0.08),
|
||||
0 2px 4px rgba(0, 115, 206, 0.04),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
.dark .user-menu-button-new {
|
||||
background: rgba(10, 10, 10, 0.7);
|
||||
border-color: rgba(42, 42, 42, 0.6);
|
||||
box-shadow:
|
||||
0 2px 8px rgba(0, 0, 0, 0.2),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.03);
|
||||
}
|
||||
|
||||
.dark .user-menu-button-new:hover {
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
box-shadow:
|
||||
0 4px 12px rgba(0, 0, 0, 0.3),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
/* Enhanced Hover Effects */
|
||||
.hover-lift-enhanced {
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
.hover-lift-enhanced:hover {
|
||||
transform: translateY(-3px) scale(1.01);
|
||||
box-shadow:
|
||||
0 12px 30px var(--color-shadow-strong),
|
||||
0 6px 15px var(--color-shadow-accent);
|
||||
}
|
||||
|
||||
.dark .hover-lift-enhanced:hover {
|
||||
box-shadow: 0 12px 30px var(--color-shadow);
|
||||
}
|
||||
|
||||
/* Smooth Scrollbar for Light Mode */
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: var(--color-bg-secondary);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: linear-gradient(180deg,
|
||||
var(--color-border-secondary) 0%,
|
||||
var(--color-border-primary) 100%);
|
||||
border-radius: 4px;
|
||||
transition: background 0.2s ease;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: linear-gradient(180deg,
|
||||
var(--color-accent) 0%,
|
||||
var(--color-accent-hover) 100%);
|
||||
}
|
||||
|
||||
.dark ::-webkit-scrollbar-track {
|
||||
background: var(--color-bg-secondary);
|
||||
}
|
||||
|
||||
.dark ::-webkit-scrollbar-thumb {
|
||||
background: var(--color-border-primary);
|
||||
}
|
||||
|
||||
.dark ::-webkit-scrollbar-thumb:hover {
|
||||
background: #60a5fa;
|
||||
}
|
||||
|
||||
/* Loading States */
|
||||
.loading-enhanced {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.loading-enhanced::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg,
|
||||
transparent,
|
||||
rgba(0, 115, 206, 0.1),
|
||||
transparent);
|
||||
animation: loading-shimmer 2s infinite;
|
||||
}
|
||||
|
||||
@keyframes loading-shimmer {
|
||||
0% { left: -100%; }
|
||||
100% { left: 100%; }
|
||||
}
|
||||
|
||||
/* Focus States for Accessibility */
|
||||
.focus-enhanced:focus {
|
||||
outline: 2px solid var(--color-accent);
|
||||
outline-offset: 2px;
|
||||
box-shadow:
|
||||
0 0 0 4px rgba(0, 115, 206, 0.15),
|
||||
0 4px 12px var(--color-shadow-accent);
|
||||
}
|
||||
|
||||
.dark .focus-enhanced:focus {
|
||||
outline-color: #60a5fa;
|
||||
box-shadow:
|
||||
0 0 0 4px rgba(96, 165, 250, 0.15),
|
||||
0 4px 12px rgba(96, 165, 250, 0.2);
|
||||
}
|
||||
|
||||
/* Responsive Design Enhancements */
|
||||
@media (max-width: 768px) {
|
||||
.card-enhanced {
|
||||
padding: 1rem;
|
||||
border-radius: 0.75rem;
|
||||
}
|
||||
|
||||
.btn-enhanced {
|
||||
padding: 0.75rem 1.5rem;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.modal-enhanced {
|
||||
border-radius: 1rem;
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
.dark-mode-toggle-new {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Reduced Motion Support */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
* {
|
||||
transition: none !important;
|
||||
animation: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* High Contrast Mode Support */
|
||||
@media (prefers-contrast: high) {
|
||||
:root {
|
||||
--color-shadow: rgba(0, 0, 0, 0.2);
|
||||
--color-shadow-strong: rgba(0, 0, 0, 0.3);
|
||||
--color-border-primary: #000000;
|
||||
}
|
||||
|
||||
.dark {
|
||||
--color-border-primary: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
2
backend/static/css/tailwind.min.css
vendored
2
backend/static/css/tailwind.min.css
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user