*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.spinner{border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loading-spinner{border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;width:20px;height:20px;animation:spin .8s linear infinite;display:inline-block}.toast{position:fixed;top:5rem;right:20px;padding:16px 24px;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:10000;animation:slideIn .3s ease;max-width:400px;word-wrap:break-word}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-success{background-color:#10b981;color:#fff}.toast-error{background-color:#ef4444;color:#fff}.toast-info{background-color:#3b82f6;color:#fff}.form-input{width:100%;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.375rem;transition:all .2s;background-color:#fff;color:#1f2937}.form-input:focus{outline:none;box-shadow:0 0 0 2px rgba(59,130,246,.5);border-color:#3b82f6}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:600;transition:all .2s;cursor:pointer;border:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.card{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);padding:1.5rem}.table{width:100%;border-collapse:collapse}.table th{background-color:#f9fafb;padding:.5rem 1rem;text-align:left;font-weight:600;color:#374151}.table td{padding:.5rem 1rem;border-bottom:1px solid #e5e7eb;color:#1f2937}@media (max-width:640px){.container{padding-left:1rem;padding-right:1rem}}