@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom styles */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    min-height: 100vh;
}

/* Animation for status indicators */
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}
.pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }

/* Equipment card hover effect */
.equipment-card { transition: all 0.2s ease-in-out; }
.equipment-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }

/* Badge styles */
.badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 9999px;
}
.badge-success { background: #10b981; color: white; }
.badge-danger { background: #ef4444; color: white; }
.badge-warning { background: #f59e0b; color: white; }
.badge-info { background: #3b82f6; color: white; }
.badge-primary { background: #4f46e5; color: white; }
.badge-secondary { background: #6b7280; color: white; }
.badge-pink { background: #ec4899; color: white; }

/* Button styles */
.btn-primary {
    background: #4f46e5;
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    transition: background 0.2s;
}
.btn-primary:hover { background: #4338ca; }

.btn-secondary {
    background: #e5e7eb;
    color: #374151;
    padding: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    transition: background 0.2s;
}
.btn-secondary:hover { background: #d1d5db; }

.btn-success {
    background: #10b981;
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 0.5rem;
    transition: background 0.2s;
}
.btn-success:hover { background: #059669; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* Alert styles */
.alert {
    padding: 1rem;
    border-radius: 0.5rem;
    border: 1px solid;
}
.alert-success { background: #d1fae5; color: #065f46; border-color: #34d399; }
.alert-error { background: #fee2e2; color: #991b1b; border-color: #f87171; }
.alert-warning { background: #fef3c7; color: #92400e; border-color: #fbbf24; }
.alert-info { background: #dbeafe; color: #1e40af; border-color: #60a5fa; }

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .dark body { background-color: #1f2937; color: #f9fafb; }
    .dark .bg-white { background-color: #374151; }
    .dark .text-gray-800 { color: #f3f4f6; }
    .dark .text-gray-600 { color: #d1d5db; }
}

/* Responsive */
@media (max-width: 640px) {
    .container { padding-left: 1rem; padding-right: 1rem; }
    table { font-size: 0.875rem; }
    th, td { padding: 0.5rem !important; }
}

/* Print styles */
@media print {
    nav, footer, button { display: none !important; }
    body { background: white !important; color: black !important; }
    .bg-white { background: white !important; border: 1px solid #ddd !important; }
}