:root { --primary-color: #4361ee; --secondary-color: #3f37c9; --accent-color: #4cc9f0; --danger-color: #f72585; --text-color: #333; --light-color: #f8f9fa; --border-radius: 8px; --box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; height: 100vh; display: flex; justify-content: center; align-items: center; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; transition: background-image 1s ease-in-out; } body::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: -1; } .loginContainer { background-color: white; width: 90%; max-width: 400px; padding: 40px; border-radius: var(--border-radius); box-shadow: var(--box-shadow); text-align: center; position: relative; overflow: hidden; z-index: 1; } .logo { margin-bottom: 20px; } .logo img { width: 80px; height: 80px; } h2 { color: var(--primary-color); margin-bottom: 30px; font-size: 28px; font-weight: 600; letter-spacing: 0.5px; } .subtitle { color: #666; margin-bottom: 25px; font-size: 12px; } .form-group { position: relative; margin-bottom: 20px; text-align: left; } .form-group label { display: block; margin-bottom: 8px; font-size: 14px; color: #555; font-weight: 500; } .form-group input { width: 100%; padding: 15px 15px 15px 45px; border: 1px solid #ddd; border-radius: var(--border-radius); font-size: 16px; transition: var(--transition); } .form-group input:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.15); } .form-group i { position: absolute; left: 15px; top: 42px; color: #aaa; transition: var(--transition); } .form-group input:focus + i { color: var(--primary-color); } .form-group.filled input { border-color: var(--accent-color); background-color: rgba(76, 201, 240, 0.05); } .form-group.filled i { color: var(--accent-color); } .buttons { display: flex; flex-direction: column; gap: 15px; margin-top: 30px; } .btn { width: 100%; padding: 15px; border: none; border-radius: var(--border-radius); font-size: 16px; font-weight: 600; cursor: pointer; transition: var(--transition); display: flex; justify-content: center; align-items: center; } .btn-primary { background-color: var(--primary-color); color: white; } .btn-primary:hover { background-color: var(--secondary-color); } .btn-secondary { background-color: #f0f2f5; color: var(--text-color); border: 1px solid #ddd; } .btn-secondary:hover { background-color: #e4e6e9; } .btn-accent { background-color: var(--accent-color); color: white; } .btn-accent:hover { background-color: #3AB4D9; } .btn i { margin-right: 8px; } .divider { display: flex; align-items: center; margin: 20px 0; color: #777; font-size: 14px; } .divider::before, .divider::after { content: ""; flex: 1; height: 1px; background-color: #ddd; } .divider::before { margin-right: 10px; } .divider::after { margin-left: 10px; } .loader-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: rgba(255, 255, 255, 0.9); z-index: 10; transition: var(--transition); } .loader { width: 30px; height: 30px; border: 5px solid #f3f3f3; border-top: 5px solid var(--primary-color); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loader-text { margin-top: 20px; color: var(--primary-color); font-weight: 500; } .notification { position: fixed; top: 20px; right: 20px; padding: 15px 25px; border-radius: var(--border-radius); color: white; font-weight: 500; box-shadow: var(--box-shadow); display: none; z-index: 1000; animation: slideIn 0.3s ease forwards; } @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .notification.success { background-color: #10b981; } .notification.error { background-color: var(--danger-color); } .forgotten-password { display: block; margin-top: 10px; color: var(--primary-color); text-decoration: none; font-size: 14px; text-align: right; } .forgotten-password:hover { text-decoration: underline; } .pulse { animation: pulse 1.5s infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } .brain-icon { background-color: var(--primary-color); width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; box-shadow: 0 4px 20px rgba(67, 97, 238, 0.4); } .brain-icon i { color: white; font-size: 40px; }