@tailwind base;@tailwind components;@tailwind utilities;:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}.glass{background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}::-webkit-scrollbar{display:none}*{scrollbar-width:none}*{-ms-overflow-style:none}.gradient-primary{background:linear-gradient(135deg,#22c55e,#16a34a)}.gradient-hero{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in{animation:slideIn .3s ease-out}.btn{@apply px-6 py-3 rounded-lg font-semibold transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-offset-2;}.btn-primary{@apply bg-gradient-to-r from-green-500 to-green-600 text-white hover:from-green-600 hover:to-green-700 focus:ring-green-500;}.btn-secondary{@apply bg-gray-200 text-gray-800 hover:bg-gray-300 focus:ring-gray-400;}.btn-danger{@apply bg-red-500 text-white hover:bg-red-600 focus:ring-red-400;}.card{@apply bg-white rounded-xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-xl;}.input{@apply w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-green-500 focus:border-transparent transition-all;}.input-error{@apply border-red-500 focus:ring-red-500;}.spinner{border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){html{font-size:14px}}@media (min-width: 641px) and (max-width: 1024px){html{font-size:15px}}@media (min-width: 1025px){html{font-size:16px}}.overlay{@apply fixed inset-0 bg-black bg-opacity-50 backdrop-blur-sm z-40 transition-opacity duration-300;}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
