@tailwind base; @tailwind components; @tailwind utilities; /* Kiosk-optimierte Custom Styles */ @layer base { :root { /* Kiosk-spezifische CSS-Variablen */ --primary: #0073ce; --primary-dark: #005a9f; --bg: #fafbfc; --surface: #ffffff; --text: #111827; --text-muted: #6b7280; --border: #e5e7eb; --shadow: 0 2px 4px rgba(0,0,0,0.05); } .dark { --bg: #1e293b; --surface: #334155; --text: #f8fafc; --text-muted: #94a3b8; --border: #475569; --shadow: 0 2px 4px rgba(0,0,0,0.3); } body { @apply bg-white dark:bg-gray-800 text-gray-900 dark:text-white; font-family: system-ui, -apple-system, sans-serif; background: var(--bg); color: var(--text); line-height: 1.5; transition: background-color 0.2s ease, color 0.2s ease; } } @layer components { /* Kiosk-optimierte Komponenten */ .card { @apply bg-white border border-gray-200 rounded-lg p-4; background: var(--surface); border-color: var(--border); box-shadow: var(--shadow); } .dark .card { @apply bg-gray-700 border-gray-600; } .btn { @apply px-4 py-2 rounded-lg font-semibold transition-colors; background: var(--primary); color: white; border: none; } .btn:hover { background: var(--primary-dark); } .btn-secondary { @apply bg-white border border-gray-200 text-gray-900; background: var(--surface); border-color: var(--border); color: var(--text); } .dark .btn-secondary { @apply bg-gray-700 border-gray-600 text-white; } .input { @apply w-full px-3 py-2 border border-gray-200 rounded-lg; background: var(--surface); border-color: var(--border); color: var(--text); } .input:focus { outline: none; border-color: var(--primary); } .dark .input { @apply bg-gray-700 border-gray-600 text-white; } /* Navigation */ .nav { @apply flex gap-4; } .nav-item { @apply px-4 py-2 rounded-lg text-gray-600 hover:bg-gray-100; color: var(--text-muted); transition: background-color 0.1s ease; } .nav-item:hover { background: var(--bg); color: var(--text); } .nav-item.active { background: var(--primary); color: white; } .dark .nav-item { @apply text-gray-300 hover:bg-gray-700; } /* Status-Badges */ .status { @apply inline-block px-3 py-1 rounded-full text-xs font-semibold uppercase; } .status-online { background: #d1fae5; color: #065f46; } .status-offline { background: #fee2e2; color: #991b1b; } .status-printing { background: #dbeafe; color: #1e40af; } .dark .status-online { background: rgba(16, 185, 129, 0.2); color: #10b981; } .dark .status-offline { background: rgba(239, 68, 68, 0.2); color: #ef4444; } .dark .status-printing { background: rgba(59, 130, 246, 0.2); color: #3b82f6; } }