*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f0f0f0;color:#2c3e50}html,body{height:100%;margin:0;padding:0}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .3s ease}button:hover{opacity:.8}button:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background-color:#5568d3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5e666d}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#cf2434}form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-weight:500;font-size:14px}.form-group input,.form-group textarea,.form-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px}.alert.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}table{width:100%;border-collapse:collapse;background-color:#fff}table thead{background-color:#fff}table thead th{padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6}table tbody tr{border-bottom:1px solid #dee2e6}table tbody tr:hover{background-color:#f8f9fa}table tbody tr td{padding:12px}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}.loading{text-align:center;padding:20px;color:#666}.spinner{border:4px solid #f0f0f0;border-top:4px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
