520 lines
14 KiB
CSS
520 lines
14 KiB
CSS
/**
|
|
* Optimized MYP Platform Components for Raspberry Pi
|
|
* All transitions and animations removed for performance
|
|
*/
|
|
|
|
@layer components {
|
|
/* Karten und Container - Keine Transitions */
|
|
.card {
|
|
@apply bg-white dark:bg-slate-900 rounded-xl shadow-lg border border-slate-200 dark:border-slate-700 p-6 m-4;
|
|
}
|
|
|
|
.card-hover {
|
|
@apply hover:shadow-xl hover:shadow-slate-300/50 dark:hover:shadow-slate-900/50 hover:bg-slate-50 dark:hover:bg-slate-800;
|
|
}
|
|
|
|
.container-panel {
|
|
@apply bg-slate-50 dark:bg-slate-800 rounded-xl p-6 m-4 border border-slate-200 dark:border-slate-700 shadow-sm;
|
|
}
|
|
|
|
/* Formulare - Keine Transitions */
|
|
.form-input {
|
|
@apply w-full rounded-xl border-2 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 px-4 py-3 text-slate-900 dark:text-white placeholder-slate-500 dark:placeholder-slate-400 focus:border-blue-500 dark:focus:border-blue-400 focus:ring-4 focus:ring-blue-500/20 dark:focus:ring-blue-400/20;
|
|
}
|
|
|
|
.form-label {
|
|
@apply block text-sm font-semibold text-slate-700 dark:text-slate-300 mb-2;
|
|
}
|
|
|
|
.form-group {
|
|
@apply mb-6;
|
|
}
|
|
|
|
.form-help {
|
|
@apply mt-1 text-xs text-slate-500 dark:text-slate-400;
|
|
}
|
|
|
|
.form-error {
|
|
@apply mt-1 text-xs text-red-600 dark:text-red-400 font-medium;
|
|
}
|
|
|
|
/* Buttons - Keine Transitions */
|
|
.btn-icon {
|
|
@apply inline-flex items-center justify-center rounded-xl p-3 shadow-md hover:shadow-lg;
|
|
}
|
|
|
|
.btn-text {
|
|
@apply inline-flex items-center justify-center gap-2 rounded-xl px-6 py-3 text-sm font-semibold shadow-md hover:shadow-lg;
|
|
}
|
|
|
|
.btn-rounded {
|
|
@apply rounded-full;
|
|
}
|
|
|
|
.btn-sm {
|
|
@apply px-4 py-2 text-xs;
|
|
}
|
|
|
|
.btn-lg {
|
|
@apply px-8 py-4 text-base;
|
|
}
|
|
|
|
/* Badges und Tags - Keine Transitions */
|
|
.badge {
|
|
@apply inline-flex items-center rounded-full px-3 py-1.5 text-xs font-semibold shadow-sm;
|
|
}
|
|
|
|
.badge-blue {
|
|
@apply bg-blue-100 text-blue-800 border border-blue-200 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700;
|
|
}
|
|
|
|
.badge-green {
|
|
@apply bg-green-100 text-green-800 border border-green-200 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700;
|
|
}
|
|
|
|
.badge-red {
|
|
@apply bg-red-100 text-red-800 border border-red-200 dark:bg-red-900/30 dark:text-red-300 dark:border-red-700;
|
|
}
|
|
|
|
.badge-yellow {
|
|
@apply bg-yellow-100 text-yellow-800 border border-yellow-200 dark:bg-yellow-900/30 dark:text-yellow-300 dark:border-yellow-700;
|
|
}
|
|
|
|
.badge-purple {
|
|
@apply bg-purple-100 text-purple-800 border border-purple-200 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700;
|
|
}
|
|
|
|
/* Status Anzeigen - Keine Animation */
|
|
.status-dot {
|
|
@apply relative flex h-3 w-3 rounded-full shadow-sm;
|
|
}
|
|
|
|
.status-dot::after {
|
|
@apply absolute top-0 left-0 h-full w-full rounded-full content-[''] opacity-75;
|
|
}
|
|
|
|
.status-online {
|
|
@apply bg-green-500 dark:bg-green-400;
|
|
}
|
|
|
|
.status-online::after {
|
|
@apply bg-green-500 dark:bg-green-400;
|
|
}
|
|
|
|
.status-offline {
|
|
@apply bg-red-500 dark:bg-red-400;
|
|
}
|
|
|
|
.status-warning {
|
|
@apply bg-yellow-500 dark:bg-yellow-400;
|
|
}
|
|
|
|
.status-warning::after {
|
|
@apply bg-yellow-500 dark:bg-yellow-400;
|
|
}
|
|
|
|
/* Tabellen - Keine Transitions */
|
|
.table-container {
|
|
@apply w-full overflow-x-auto rounded-xl border border-slate-200 dark:border-slate-700 shadow-lg bg-white dark:bg-slate-900;
|
|
}
|
|
|
|
.table-styled {
|
|
@apply w-full whitespace-nowrap text-left text-sm text-slate-700 dark:text-slate-300;
|
|
}
|
|
|
|
.table-styled thead {
|
|
@apply bg-slate-100 dark:bg-slate-800;
|
|
}
|
|
|
|
.table-styled th {
|
|
@apply px-6 py-4 font-semibold text-slate-900 dark:text-white;
|
|
}
|
|
|
|
.table-styled tbody tr {
|
|
@apply border-t border-slate-200 dark:border-slate-700;
|
|
}
|
|
|
|
.table-styled tbody tr:hover {
|
|
@apply bg-slate-50 dark:bg-slate-800/50;
|
|
}
|
|
|
|
.table-styled td {
|
|
@apply px-6 py-4;
|
|
}
|
|
|
|
/* Alerts - Keine Transitions */
|
|
.alert {
|
|
@apply rounded-xl border-2 p-6 mb-4 shadow-lg;
|
|
}
|
|
|
|
.alert-info {
|
|
@apply bg-blue-50 dark:bg-blue-900/20 border-blue-300 dark:border-blue-600 text-blue-900 dark:text-blue-200;
|
|
}
|
|
|
|
.alert-success {
|
|
@apply bg-green-50 dark:bg-green-900/20 border-green-300 dark:border-green-600 text-green-900 dark:text-green-200;
|
|
}
|
|
|
|
.alert-warning {
|
|
@apply bg-yellow-50 dark:bg-yellow-900/20 border-yellow-300 dark:border-yellow-600 text-yellow-900 dark:text-yellow-200;
|
|
}
|
|
|
|
.alert-error {
|
|
@apply bg-red-50 dark:bg-red-900/20 border-red-300 dark:border-red-600 text-red-900 dark:text-red-200;
|
|
}
|
|
|
|
/* Navigation - Keine Transitions */
|
|
.nav-tab {
|
|
@apply inline-flex items-center gap-2 px-6 py-3 border-b-2 text-sm font-semibold;
|
|
}
|
|
|
|
.nav-tab-active {
|
|
@apply border-blue-600 dark:border-blue-400 text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20 rounded-t-lg;
|
|
}
|
|
|
|
.nav-tab-inactive {
|
|
@apply border-transparent text-slate-600 dark:text-slate-400 hover:text-slate-900 dark:hover:text-slate-200 hover:border-slate-300 dark:hover:border-slate-600 hover:bg-slate-50 dark:hover:bg-slate-800 rounded-t-lg;
|
|
}
|
|
|
|
/* Navigation Links - Keine Transitions */
|
|
.nav-link {
|
|
@apply flex items-center gap-3 px-4 py-3 rounded-xl text-slate-700 dark:text-slate-300 hover:bg-slate-100 dark:hover:bg-slate-800 hover:text-slate-900 dark:hover:text-white font-medium;
|
|
}
|
|
|
|
.nav-link.active {
|
|
@apply bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 font-semibold shadow-sm;
|
|
}
|
|
|
|
/* Printer Status - Statisch */
|
|
.printer-status {
|
|
@apply inline-flex items-center gap-2 px-4 py-2 rounded-full text-xs font-semibold shadow-sm border;
|
|
}
|
|
|
|
.printer-ready {
|
|
@apply bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-300 border-green-200 dark:border-green-700;
|
|
}
|
|
|
|
.printer-busy {
|
|
@apply bg-orange-100 dark:bg-orange-900/30 text-orange-800 dark:text-orange-300 border-orange-200 dark:border-orange-700;
|
|
}
|
|
|
|
.printer-error {
|
|
@apply bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-300 border-red-200 dark:border-red-700;
|
|
}
|
|
|
|
.printer-offline {
|
|
@apply bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300 border-slate-200 dark:border-slate-600;
|
|
}
|
|
|
|
.printer-maintenance {
|
|
@apply bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300 border-purple-200 dark:border-purple-700;
|
|
}
|
|
|
|
/* Job Status - Statisch */
|
|
.job-status {
|
|
@apply inline-flex items-center gap-2 px-4 py-2 rounded-full text-xs font-semibold shadow-sm border;
|
|
}
|
|
|
|
.job-queued {
|
|
@apply bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300 border-slate-200 dark:border-slate-600;
|
|
}
|
|
|
|
.job-printing {
|
|
@apply bg-blue-100 dark:bg-blue-900/30 text-blue-800 dark:text-blue-300 border-blue-200 dark:border-blue-700;
|
|
}
|
|
|
|
.job-completed {
|
|
@apply bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-300 border-green-200 dark:border-green-700;
|
|
}
|
|
|
|
.job-failed {
|
|
@apply bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-300 border-red-200 dark:border-red-700;
|
|
}
|
|
|
|
.job-cancelled {
|
|
@apply bg-yellow-100 dark:bg-yellow-900/30 text-yellow-800 dark:text-yellow-300 border-yellow-200 dark:border-yellow-700;
|
|
}
|
|
|
|
.job-paused {
|
|
@apply bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300 border-purple-200 dark:border-purple-700;
|
|
}
|
|
|
|
/* Buttons - Keine Transitions */
|
|
.btn {
|
|
@apply px-6 py-3 rounded-xl focus:outline-none focus:ring-4 shadow-lg hover:shadow-xl font-semibold;
|
|
}
|
|
|
|
.btn-primary {
|
|
@apply btn bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500/50 shadow-blue-500/25;
|
|
}
|
|
|
|
.btn-secondary {
|
|
@apply btn bg-slate-200 hover:bg-slate-300 text-slate-800 dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-white focus:ring-slate-500/50;
|
|
}
|
|
|
|
.btn-danger {
|
|
@apply btn bg-red-600 hover:bg-red-700 text-white focus:ring-red-500/50 shadow-red-500/25;
|
|
}
|
|
|
|
.btn-success {
|
|
@apply btn bg-green-600 hover:bg-green-700 text-white focus:ring-green-500/50 shadow-green-500/25;
|
|
}
|
|
|
|
/* Mercedes Design-Komponenten - Vereinfacht */
|
|
.mercedes-glass {
|
|
background: rgba(255, 255, 255, 0.9);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .mercedes-glass {
|
|
background: rgba(15, 23, 42, 0.9);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* Gradients - Statisch */
|
|
.professional-gradient {
|
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #94a3b8 75%, #64748b 100%);
|
|
}
|
|
|
|
.dark .professional-gradient {
|
|
background: linear-gradient(135deg, #0f172a 0%, #1e293b 25%, #334155 50%, #475569 75%, #64748b 100%);
|
|
}
|
|
|
|
/* Mercedes-Pattern */
|
|
.mercedes-pattern {
|
|
background-image:
|
|
radial-gradient(circle at 25% 25%, rgba(255,255,255,0.1) 2px, transparent 2px),
|
|
radial-gradient(circle at 75% 75%, rgba(255,255,255,0.1) 2px, transparent 2px);
|
|
background-size: 60px 60px;
|
|
}
|
|
|
|
.dark .mercedes-pattern {
|
|
background-image:
|
|
radial-gradient(circle at 25% 25%, rgba(255,255,255,0.05) 2px, transparent 2px),
|
|
radial-gradient(circle at 75% 75%, rgba(255,255,255,0.05) 2px, transparent 2px);
|
|
background-size: 60px 60px;
|
|
}
|
|
|
|
/* Schatten - Statisch */
|
|
.professional-shadow {
|
|
box-shadow:
|
|
0 25px 50px -12px rgba(0, 0, 0, 0.15),
|
|
0 8px 16px rgba(0, 0, 0, 0.1),
|
|
0 0 0 1px rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.dark .professional-shadow {
|
|
box-shadow:
|
|
0 25px 50px -12px rgba(0, 0, 0, 0.5),
|
|
0 8px 16px rgba(0, 0, 0, 0.3),
|
|
0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
/* Button Styles - Vereinfacht */
|
|
.professional-button {
|
|
background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
|
|
}
|
|
|
|
.dark .professional-button {
|
|
background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
|
|
box-shadow: 0 4px 15px rgba(59, 130, 246, 0.2);
|
|
}
|
|
|
|
.professional-button:hover {
|
|
background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
|
|
box-shadow: 0 15px 35px rgba(59, 130, 246, 0.4);
|
|
}
|
|
|
|
.dark .professional-button:hover {
|
|
background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
|
|
box-shadow: 0 15px 35px rgba(59, 130, 246, 0.3);
|
|
}
|
|
|
|
/* Input Fields - Vereinfacht */
|
|
.input-field {
|
|
background: rgba(255, 255, 255, 0.95);
|
|
border: 2px solid rgba(203, 213, 225, 0.8);
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
.dark .input-field {
|
|
background: rgba(51, 65, 85, 0.95);
|
|
border: 2px solid rgba(71, 85, 105, 0.8);
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.input-field:focus {
|
|
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.15);
|
|
border-color: #3b82f6;
|
|
background: rgba(255, 255, 255, 1);
|
|
}
|
|
|
|
.dark .input-field:focus {
|
|
background: rgba(51, 65, 85, 1);
|
|
box-shadow: 0 10px 25px rgba(59, 130, 246, 0.2);
|
|
}
|
|
|
|
/* Cards - Vereinfacht */
|
|
.professional-card {
|
|
border-radius: 1.5rem;
|
|
overflow: hidden;
|
|
background: rgba(255, 255, 255, 0.98);
|
|
border: 1px solid rgba(203, 213, 225, 0.5);
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
.dark .professional-card {
|
|
background: rgba(15, 23, 42, 0.98);
|
|
border: 1px solid rgba(71, 85, 105, 0.5);
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.professional-card:hover {
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.dark .professional-card:hover {
|
|
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* Navigation - Vereinfacht */
|
|
.nav-item {
|
|
position: relative;
|
|
border-radius: 0.75rem;
|
|
}
|
|
|
|
.nav-item::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: -2px;
|
|
left: 50%;
|
|
width: 0;
|
|
height: 2px;
|
|
background: linear-gradient(90deg, #3b82f6, #1d4ed8);
|
|
}
|
|
|
|
.nav-item:hover::after,
|
|
.nav-item.active::after {
|
|
width: 100%;
|
|
}
|
|
|
|
/* Header-Stile */
|
|
.hero-header {
|
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
|
|
border: 1px solid rgba(203, 213, 225, 0.5);
|
|
}
|
|
|
|
.dark .hero-header {
|
|
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
|
|
border: 1px solid rgba(71, 85, 105, 0.5);
|
|
}
|
|
|
|
/* Container */
|
|
.main-container {
|
|
background: rgba(248, 250, 252, 0.8);
|
|
}
|
|
|
|
.dark .main-container {
|
|
background: rgba(15, 23, 42, 0.8);
|
|
}
|
|
|
|
/* Status Badges - Vereinfacht */
|
|
.status-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
border-radius: 9999px;
|
|
border: 1px solid transparent;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.025em;
|
|
}
|
|
|
|
/* Keine globalen Transitions */
|
|
* {
|
|
transition: none !important;
|
|
animation: none !important;
|
|
}
|
|
|
|
/* Interactive Hover - Vereinfacht */
|
|
.interactive-hover:hover {
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.dark .interactive-hover:hover {
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* Loading States - Keine Animation */
|
|
.loading-shimmer {
|
|
background: #f1f5f9;
|
|
}
|
|
|
|
.dark .loading-shimmer {
|
|
background: #334155;
|
|
}
|
|
|
|
/* Focus Indicators */
|
|
.focus-ring:focus {
|
|
outline: 3px solid #3b82f6;
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
.dark .focus-ring:focus {
|
|
outline: 3px solid #60a5fa;
|
|
}
|
|
|
|
/* Typography */
|
|
.professional-title {
|
|
background: linear-gradient(135deg, #1e293b 0%, #475569 100%);
|
|
background-clip: text;
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
font-weight: 700;
|
|
letter-spacing: -0.025em;
|
|
}
|
|
|
|
.dark .professional-title {
|
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
|
|
background-clip: text;
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
}
|
|
|
|
/* Responsive Design */
|
|
@media (max-width: 768px) {
|
|
.professional-shadow {
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.professional-card {
|
|
border-radius: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Keine Animationen */
|
|
.fade-in,
|
|
.slide-up {
|
|
/* Keine Animation */
|
|
}
|
|
|
|
/* Root Variablen */
|
|
:root {
|
|
--mercedes-primary: #3b82f6;
|
|
--mercedes-secondary: #64748b;
|
|
--mercedes-accent: #1d4ed8;
|
|
--shadow-light: rgba(0, 0, 0, 0.1);
|
|
--shadow-dark: rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.dark {
|
|
--shadow-light: rgba(0, 0, 0, 0.2);
|
|
--shadow-dark: rgba(0, 0, 0, 0.5);
|
|
}
|
|
} |