@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--primary: #3b82f6;--secondary: #10b981;--danger: #ef4444;--warning: #f59e0b}body{@apply bg-gray-50 text-gray-900 antialiased;}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{@apply bg-gray-100;}::-webkit-scrollbar-thumb{@apply bg-gray-400 rounded-full;}::-webkit-scrollbar-thumb:hover{@apply bg-gray-500;}}@layer components{.card{@apply bg-white rounded-lg shadow-md border border-gray-200 p-6;}.card-hover{@apply transition-all duration-200 hover:shadow-lg hover:border-gray-300;}.btn{@apply px-4 py-2 rounded-lg font-medium transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2;}.btn-primary{@apply bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500;}.btn-secondary{@apply bg-green-600 text-white hover:bg-green-700 focus:ring-green-500;}.btn-danger{@apply bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;}.btn-outline{@apply border border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-gray-500;}.form-input{@apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors;}.form-label{@apply block text-sm font-medium text-gray-700 mb-2;}.status-badge{@apply inline-flex items-center px-3 py-1 rounded-full text-xs font-medium;}.status-success{@apply bg-green-100 text-green-800;}.status-warning{@apply bg-yellow-100 text-yellow-800;}.status-danger{@apply bg-red-100 text-red-800;}.status-info{@apply bg-blue-100 text-blue-800;}.spinner{@apply animate-spin rounded-full border-2 border-gray-300 border-t-blue-600;}.progress-bar{@apply w-full bg-gray-200 rounded-full overflow-hidden;}.progress-fill{@apply h-2 bg-gradient-to-r from-blue-500 to-green-500 transition-all duration-500;}.security-shield{@apply inline-flex items-center justify-center w-10 h-10 rounded-full bg-green-100 text-green-600;}.security-alert{@apply inline-flex items-center justify-center w-10 h-10 rounded-full bg-red-100 text-red-600;}}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in{animation:slide-in .3s ease-out}.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media print{.no-print{display:none!important}}
